package Ġcom . pro ct . activities . in real . repositories Ċ Ċ import Ġcom . pro ct . activities . in real . data . database . Category DAO Ċ import Ġcom . pro ct . activities . in real . data . database . D ish DAO Ċ import Ġcom . pro ct . activities . in real . data . database . Order Item DAO Ċ import Ġcom . pro ct . activities . in real . data . model .* Ċ import Ġcom . pro ct . activities . in real . data . sources . In Real DataSource Ċ import Ġkotlinx . coroutines . flow . Flow Ċ import Ġjavax . inject . Inject Ċ import Ġjavax . inject . Singleton Ċ Ċ @ Singleton Ċ class ĠIn Real Data Local Source Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġdis h DAO : ĠD ish DAO , ĊĠĠĠ Ġprivate Ġval Ġcategory DAO : ĠCategory DAO , ĊĠĠĠ Ġprivate Ġval Ġorder Item DAO : ĠOrder Item DAO Ċ ) Ġ: ĠIn Real DataSource Ġ{ ĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġget Categories (): ĠFlow < List < Category >> Ġ= Ġcategory DAO . getList Categories () ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġget Dis hes List ( type : ĠD ish Type ): ĠFlow < List < D ish >> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtype Converter Ġ= ĠD ish Type Converter () ĊĠĠĠĠĠĠĠ Ġval Ġdis h Type Ġ= Ġtype Converter . from D ish Type ( type ) ĊĠĠĠĠĠĠĠ Ġreturn Ġdis h DAO . get Dis hes List ( dish Type ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġget Order Items List (): ĠFlow < List < Order Item >> Ġ= Ġorder Item DAO . getList Order () ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġinsert Order Item ( order Item : ĠOrder Item ) Ġ= Ġorder Item DAO . insert ( order Item ) ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġinsert Category ( category : ĠCategory ) Ġ= Ġcategory DAO . insert ( category ) ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġinsert D ish ( dish : ĠD ish ) Ġ= Ġdis h DAO . insert ( dish ) ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġget D ish ( name : ĠString ): ĠD ish Ġ= Ġdis h DAO . get D ish ( name ) ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġdelete Order Item ( order Item : ĠOrder Item ) Ġ= Ġorder Item DAO . delete ( order Item ) Ċ }