package Ġdid . chr is . alt . factories Ċ Ċ import Ġdid . chr is . alt . data . TimeStamp Ċ import Ġdid . chr is . alt . data . coin ListItem . Coin ListItem Ċ import Ġdid . chr is . alt . data . tracker . TRANSACTION _ MIN ED Ċ import Ġdid . chr is . alt . data . tracker . TRANSACTION _ SE LL Ċ import Ġdid . chr is . alt . data . tracker . Tracker Data Entry Ċ import Ġdid . chr is . alt . data . tracker . Tracker Data Transaction Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠTracker Entry Data Factory Ġ@ Inject Ġconstructor () Ġ{ ĊĊĠĠĠ Ġ// ĠInternal ĠFunctions ĊĠĠĠ Ġinternal Ġfun Ġmake Tracker Entry Data For ( tracker Entry Data : ĠTracker Data Entry ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcoin : ĠCoin ListItem ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexchange : ĠString ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġquantity : ĠString ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprice : ĠString ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfees : ĠString ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdate : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnotes : ĠString ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype : ĠString ĊĠĠĠ Ġ): ĠTracker Data Entry ? Ġ{ ĊĠĠĠĠĠĠĠ Ġcoin Ġ?: Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġval Ġquantity Input Ġ= Ġ! quantity . isNull Or Blank () ĊĠĠĠĠĠĠĠ Ġval Ġprice Input Ġ= Ġ! price . isNull Or Blank () Ġ|| Ġtype Ġ== ĠTRAN SACTION _ MIN ED ĊĠĠĠĠĠĠĠ Ġif Ġ(! quantity Input Ġ|| Ġ! price Input ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġtracker Entry Ġ= Ġtracker Entry Data Ġ?: ĠTracker Data Entry ( coin . symbol , Ġcoin . name ) ĊĠĠĠĠĠĠĠ Ġval Ġtransaction Ġ= ĠTracker Data Transaction () ĊĠĠĠĠĠĠĠ Ġtransaction . exchange Ġ= Ġexchange ĊĠĠĠĠĠĠĠ Ġtransaction . quantity Ġ= Ġget Quantity ForType ( type , Ġquantity ) ĊĠĠĠĠĠĠĠ Ġtransaction . price Paid Ġ= Ġprice ĊĠĠĠĠĠĠĠ Ġtransaction . fees Ġ= Ġfees ĊĠĠĠĠĠĠĠ Ġtransaction . purchase Date Ġ= ĠTime Stamp ( date ) ĊĠĠĠĠĠĠĠ Ġtransaction . logged Date Ġ= ĠTime Stamp () ĊĠĠĠĠĠĠĠ Ġtransaction . notes Ġ= Ġnotes ĊĠĠĠĠĠĠĠ Ġtransaction . transaction Type Ġ= Ġtype ĊĠĠĠĠĠĠĠ Ġtracker Entry . transactions . add ( transaction ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtracker Entry ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠPrivate ĠFunctions ĊĠĠĠ Ġprivate Ġfun Ġget Quantity ForType ( type : ĠString , Ġquantity : ĠString ?): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġquantity Ġ?: Ġreturn Ġ" 0 " ĊĠĠĠĠĠĠĠ Ġif Ġ( type Ġ== ĠTRAN SACTION _ SE LL ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ"- $ quantity " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġquantity ĊĠĠĠ Ġ} Ċ } Ċ