package Ġorg . w ats i . domain . use cases Ċ Ċ import Ġio . reactivex . Comp letable Ċ import Ġio . reactivex . schedul ers . Schedulers Ċ import Ġorg . w ats i . domain . entities . Delta Ċ import Ġorg . w ats i . domain . repositories . Bill able Repository Ċ import Ġorg . w ats i . domain . repositories . Delta Repository Ċ Ċ class ĠSync Bill able UseCase ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġbill able Repository : ĠBill able Repository , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġdelta Repository : ĠDelta Repository Ċ ) Ġ{ ĊĠĠĠ Ġfun Ġexecute ( onError : Ġ( throwable : ĠThrowable ) Ġ-> ĠBoolean ): ĠComp letable Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠComp letable . from Action Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġun sync ed Bill able Del tas Ġ= Ġdelta Repository . un sync ed ( Delta . ModelName . B ILL ABLE ). blocking Get () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġun sync ed Bill able Del tas . map Ġ{ Ġbill able Delta Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠComp letable . concat Array ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbill able Repository . sync ( bill able Delta ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdelta Repository . mark As Sync ed ( listOf ( bill able Delta )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). onError Complete Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonError ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}. blocking Await () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}. subscribe On ( Schedulers . io ()) ĊĠĠĠ Ġ} Ċ } Ċ