package Ġcom . example . my library . data Layer . authors Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . AsyncTask Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġcom . example . my library . database . Author Ċ import Ġcom . example . my library . database . My Library Entities Ċ import Ġcom . example . my library . d tos . Author Dto Ċ import Ġcom . example . my library . d tos . Book Dto Ċ import Ġcom . example . my library . sections . authors . Authors List Ċ import Ġcom . example . my library . sections . books . Add Book Ċ Ċ /** Ċ Ġ* ĠUsed Ġto Ġget Ġall Ġauthors Ċ Ġ* Ċ Ġ* Ġ@ property Ġfragment Ġthe Ġfragment Ġused Ġto Ġcall Ġthe Ġtask Ċ Ġ*/ Ċ class ĠGet Authors ( private Ġvar Ġfragment : ĠFragment ): ĠAsync Task < String , ĠString , ĠString > (){ ĊĠĠĠ Ġvar Ġauthor DTO s Ġ: Mutable List < Author Dto > Ġ= Ġmutable ListOf () ĊĊĠĠĠ Ġoverride Ġfun Ġdo In Background ( var arg Ġcaller : ĠString ?): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdb Ġ= ĠMy Library Entities . getInstance ( context Ġ= Ġfragment . context Ġas ĠContext ) ĊĊĠĠĠĠĠĠĠ Ġval Ġauthors Ġ= Ġdb . author Dao (). getAll () Ġas ĠMutable List < Author > ĊĊĠĠĠĠĠĠĠ Ġfor ( author Ġin Ġauthors ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdto Ġ= ĠAuthor Dto ( author . id , Ġauthor . name ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbook Ids Ġ= Ġdb . book Authors Dao (). getAll By Author ( author . id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor ( Ġbook Id Ġin Ġbook Ids ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġbook Ġ= Ġdb . book Dao (). getBy Is bn ( book Id . isbn ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġbook Dto Ġ= ĠBook Dto ( book . isbn , Ġbook . name , Ġbook . type Id , Ġmutable ListOf (), Ġbook . created Date , Ġbook . image Data ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdto . books . add ( book Dto ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġauthor DTO s . add ( dto ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġcaller . first () Ġas ĠString ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Post Execute ( caller : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Post Execute ( caller ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( caller Ġ== Ġ" Add Book ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparent Ġ= Ġfragment Ġas ĠAdd Book ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent . set Authors ( author DTO s ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġif Ġ( caller Ġ== Ġ" Authors List ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparent Ġ= Ġfragment Ġas ĠAuthors List ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent . show List ( author DTO s ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ċ }