package Ġio . woo key . wallet . feature . wallet Ċ Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġio . woo key . wallet . base . Base ViewModel Ċ import Ġio . woo key . wallet . data . App Database Ċ import Ġio . woo key . wallet . data . entity . Wallet Release Ċ import Ġkotlinx . coroutines . Dispatch ers Ċ import Ġkotlinx . coroutines . launch Ċ import Ġkotlinx . coroutines . with Context Ċ Ċ class ĠRelease Mode ViewModel Ġ: ĠBase ViewModel () Ġ{ ĊĊĠĠĠ Ġval Ġwallet Release Ġ= ĠMutable LiveData < Wallet Release >() ĊĊĠĠĠ Ġfun Ġload Data ( wallet Id : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġui Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwallet Release . post Value ( App Database . getInstance (). wallet Release Dao (). load Data By Wallet Id ( wallet Id )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġinsert OrUpdate Data ( wr : ĠWallet Release ) Ġ{ ĊĠĠĠĠĠĠĠ Ġui Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrelease Ġ= ĠApp Database . getInstance (). wallet Release Dao (). load Data By Wallet Id ( wr . wallet Id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( release Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApp Database . getInstance (). wallet Release Dao (). insert ( wr ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApp Database . getInstance (). wallet Release Dao (). update ( wr . apply Ġ{ Ġid Ġ= Ġrelease . id Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdelete Data ( wr : ĠWallet Release ) Ġ{ ĊĠĠĠĠĠĠĠ Ġui Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApp Database . getInstance (). wallet Release Dao (). delete ( wr ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwallet Release . post Value ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }