package Ġcom . d sm . d ms . domain . service Ċ Ċ import Ġcom . d sm . d ms . domain . base . ErrorHandler Ċ import Ġcom . d sm . d ms . domain . base . Result Ċ import Ġcom . d sm . d ms . domain . entity . Schedule Ċ import Ġcom . d sm . d ms . domain . repository . Schedule Repository Ċ import Ġcom . d sm . d ms . domain . to Result Ċ import Ġio . reactivex . Single ĊĊ Ċ class ĠSchedule ServiceImpl ( ĊĠĠĠ Ġprivate Ġval Ġrepository : ĠSchedule Repository , ĊĠĠĠ Ġprivate Ġval Ġhandler : ĠError Handler Ċ ): ĠSchedule Service Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġget Schedule ( date : ĠString ): ĠSingle < Result < List < Schedule >>> Ġ= ĊĠĠĠĠĠĠĠ Ġrepository . get Remote Schedule ( date ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. to Result ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandler Ġ= Ġhandler , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Local Data Fun Ġ= Ġ{ Ġrepository . getLocal Schedule ( date ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsave Local Fun Ġ= Ġ{ ĠT Ġ-> Ġrepository . save Local Schedule (* T . to Typed Array ()) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ċ Ċ } Ċ