package Ġcom . david m . utils Ċ Ċ import Ġcom . david m . account . entities . Account Balance Ċ import Ġcom . david m . entities . Star ling Transaction Ċ import Ġcom . david m . entities . S pending Category Ċ import Ġcom . david m . ui . R Ċ import Ġjava . text . NumberFormat Ċ import Ġjava . text . SimpleDateFormat Ċ import Ġjava . util .* Ċ Ċ class ĠDashboard Local Mapper Ġ{ ĊĊĠĠĠ Ġdata Ġclass ĠLocal Purchase ( ĊĠĠĠĠĠĠĠ Ġval Ġcounter Party Name : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġamount : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġamount Color : ĠInt , ĊĠĠĠĠĠĠĠ Ġval Ġs pending Category Color : ĠInt , ĊĠĠĠĠĠĠĠ Ġval Ġs pending Category Drawable : ĠInt , ĊĠĠĠĠĠĠĠ Ġval Ġdate : ĠString , ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġdata Ġclass ĠLocal Account Balance ( ĊĠĠĠĠĠĠĠ Ġval Ġamount : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġamount C ents : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġcurrency : ĠString ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġfun Ġconvert P urchases ( ĊĠĠĠĠĠĠĠ Ġconverter : ĠAmount Converter , ĊĠĠĠĠĠĠĠ Ġstar ling Transaction : ĠStar ling Transaction ĊĠĠĠ Ġ): ĠLocal Purchase Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġformatter : ĠNumber Format Ġ= ĠNumber Format . getC urrency Instance () ĊĠĠĠĠĠĠĠ Ġval Ġdate Formatter Ġ= ĠSimpleDateFormat (" yyyy - MM - dd ' T ' HH : mm : ss . SS S ' Z '", ĠLocale . getDefault ()) ĊĠĠĠĠĠĠĠ Ġval Ġresult Format Ġ= ĠSimpleDateFormat (" dd - MM - yyyy ", ĠLocale . getDefault ()) ĊĊĠĠĠĠĠĠĠ Ġformatter . currency Ġ= ĠCurrency . getInstance ( star ling Transaction . amount . currency ) ĊĠĠĠĠĠĠĠ Ġval Ġfinal Date Ġ= Ġdate Formatter . parse ( star ling Transaction . transaction Time ) ĊĠĠĠĠĠĠĠ Ġval Ġfinal DateString Ġ= Ġif Ġ( final Date Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Format . format ( final Date ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Error " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġs pending Category Color : ĠInt Ġ= Ġwhen Ġ( star ling Transaction . sp ending Category ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠS pending Category . E ATING _ OUT Ġ-> ĠR . color . color Accent ĊĠĠĠĠĠĠĠĠĠĠĠ ĠS pending Category . IN CO ME Ġ-> ĠR . color . sp ending Category Blue ĊĠĠĠĠĠĠĠĠĠĠĠ ĠS pending Category . PAYMENT S Ġ-> ĠR . color . sp ending Category P ink ĊĠĠĠĠĠĠĠĠĠĠĠ ĠS pending Category . GENERAL Ġ-> ĠR . color . color Primary ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġs pending Category Drawable : ĠInt Ġ= Ġwhen Ġ( star ling Transaction . sp ending Category ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠS pending Category . E ATING _ OUT Ġ-> ĠR . drawable . ic _ hamburger ĊĠĠĠĠĠĠĠĠĠĠĠ ĠS pending Category . IN CO ME Ġ-> ĠR . drawable . ic _ download ĊĠĠĠĠĠĠĠĠĠĠĠ ĠS pending Category . PAYMENT S Ġ-> ĠR . drawable . ic _ money _ bag ĊĠĠĠĠĠĠĠĠĠĠĠ ĠS pending Category . GENERAL Ġ-> ĠR . drawable . ic _ credit _ card ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġabsolute Amount Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġformatter . format ( converter . convert Amount ToDouble ( star ling Transaction . amount . minor Units )) ĊĠĠĠĠĠĠĠ Ġval Ġamount Ġ= Ġwhen Ġ( star ling Transaction . sp ending Category ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠS pending Category . IN CO ME Ġ-> Ġ"+ Ġ$ absolute Amount " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ"- Ġ$ absolute Amount " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġamount Color Ġ= Ġwhen Ġ( star ling Transaction . sp ending Category ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠS pending Category . IN CO ME Ġ-> ĠR . color . positive Amount Green ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠR . color . negative Amount Red ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn ĠLocal Purchase ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcounter Party Name Ġ= Ġstar ling Transaction . counter Party Name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġamount Ġ= Ġamount , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġamount Color Ġ= Ġamount Color , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġs pending Category Color Ġ= Ġs pending Category Color , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġs pending Category Drawable Ġ= Ġs pending Category Drawable , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdate Ġ= Ġfinal DateString , ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġconvert Balance Amount ( ĊĠĠĠĠĠĠĠ Ġconverter : ĠAmount Converter , ĊĠĠĠĠĠĠĠ Ġbalance : ĠAccount Balance ĊĠĠĠ Ġ): ĠLocal Account Balance Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġformatter Ġ= ĠNumber Format . getC urrency Instance () ĊĠĠĠĠĠĠĠ Ġformatter . currency Ġ= ĠCurrency . getInstance ( balance . amount . currency ) ĊĊĠĠĠĠĠĠĠ Ġval Ġamount : ĠString Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġformatter . format ( converter . convert Amount ToDouble ( balance . amount . minor Units )) ĊĊĠĠĠĠĠĠĠ Ġval Ġamount Main Ġ= Ġamount . split ('.') ĊĊĠĠĠĠĠĠĠ Ġreturn ĠLocal Account Balance ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġamount Ġ= Ġamount Main [ 0 ], ĊĠĠĠĠĠĠĠĠĠĠĠ Ġamount C ents Ġ= Ġ". ${ amount Main [ 1 ] }", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrency Ġ= Ġbalance . amount . currency ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ }