package Ġcom . mini warehouse . logic . db op Ċ Ċ import Ġandroid . widget . EditText Ċ import Ġandroid . widget . Spinner Ċ import Ġcom . mini warehouse . logic . model . Material Ċ import Ġcom . mini warehouse . logic . model . Product Ċ import Ġcom . mini warehouse . logic . model . Storage Ċ import Ġcom . mini warehouse . logic . repository . Material Repository Ċ import Ġcom . mini warehouse . logic . repository . Product Repository Ċ import Ġcom . mini warehouse . logic . repository . Storage Repository Ċ import Ġorg . lite pal . Lite Pal Ċ import Ġorg . lite pal . extension . run In Transaction Ċ Ċ class ĠRe cycle Db Op Ġ: ĠDb Op Base () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġproduct Repository Ġ= ĠProduct Repository () ĊĠĠĠ Ġprivate Ġval Ġstorage Repository Ġ= ĠStorage Repository () ĊĠĠĠ Ġprivate Ġval Ġmaterial Repository Ġ= ĠMaterial Repository () ĊĊĠĠĠ Ġoverride Ġfun Ġprepare Data () Ġ{ ĊĠĠĠĠĠĠĠ Ġproduct Repository . prepare Data () ĊĠĠĠĠĠĠĠ Ġstorage Repository . prepare Data () ĊĠĠĠĠĠĠĠ Ġmaterial Repository . prepare Data () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsubmit Data (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġproduct Number Ġ= Ġregist or . getView Item (" product _ number ") Ġas ĠEditText ĊĠĠĠĠĠĠĠ Ġval Ġmaterial Name Ġ= Ġregist or . getView Item (" material _ name ") Ġas ĠEditText ĊĠĠĠĠĠĠĠ Ġval Ġmaterial Number Ġ= Ġregist or . getView Item (" material _ number ") Ġas ĠEditText ĊĠĠĠĠĠĠĠ Ġval Ġmaterial Detail Ġ= Ġregist or . getView Item (" material _ detail ") Ġas ĠEditText ĊĊĠĠĠĠĠĠĠ Ġval Ġstorage Spinner Ġ= Ġregist or . getView Item (" material _ storage ") Ġas ĠSp inner ĊĠĠĠĠĠĠĠ Ġval Ġstorage Content Ġ= Ġstorage Spinner . selected Item Ġas ĠString ĊĠĠĠĠĠĠĠ Ġvar Ġstorage Item Ġ: ĠStorage ? Ġ= Ġstorage Repository . find Data ByName ( storage Content ) ĊĠĠĠĠĠĠĠ Ġvar Ġnew Storage Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( storage Item Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstorage Name EditText Ġ= Ġregist or . getView Item (" new _ storage _ name ") Ġas ĠEditText ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstorage Detail EditText Ġ= Ġregist or . getView Item (" new _ storage _ detail ") Ġas ĠEditText ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstorage Item Ġ= ĠStorage ( name Ġ= Ġstorage Name EditText . text . toString (), Ġdetail Ġ= Ġstorage Detail EditText . text . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnew Storage Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġproduct Name Spinner Ġ= Ġregist or . getView Item (" product _ name ") Ġas ĠSp inner ĊĠĠĠĠĠĠĠ Ġval Ġproduct Name Ġ= Ġproduct Name Spinner . selected Item . toString () ĊĊĠĠĠĠĠĠĠ Ġval Ġproduct Ġ= Ġproduct Repository . find Data ByName ( product Name ) ĊĠĠĠĠĠĠĠ Ġif Ġ( product Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( product . number Ġ- Ġproduct Number . text . toString (). toDouble () Ġ< Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġproduct . number Ġ= Ġ- product Number . text . toString (). toDouble () ĊĊĠĠĠĠĠĠĠ Ġvar Ġmaterial Ġ= Ġmaterial Repository . find Data ByName ( material Name . text . toString ()) ĊĠĠĠĠĠĠĠ Ġif Ġ( material Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmaterial Ġ= ĠMaterial ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġmaterial Name . text . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= Ġ" äºĮ æĸĻ ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnumber Ġ= Ġmaterial Number . text . toString (). toDouble (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstorage Ġ= Ġstorage Item , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdetail Ġ= Ġmaterial Detail . text . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= Ġtrue ĊĠĠĠĠĠĠĠ ĠLite Pal . run In Transaction Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġres 3 Ġ= Ġif Ġ( new Storage ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstorage Item . save () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġres 1 Ġ= Ġmaterial Repository . update Item Repository ( material , Ġstorage Item ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġres 2 Ġ= Ġproduct Repository . update Item Repository ( product , Ġstorage Item ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġres 1 Ġ&& Ġres 2 Ġ&& Ġres 3 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget ProductName List () Ġ: ĠArrayList < String > Ġ= Ġproduct Repository . getData Name List () ĊĊĠĠĠ Ġfun Ġget Storage Name List () Ġ: ĠArrayList < String > Ġ= Ġstorage Repository . getData Name List () Ċ Ċ }