package Ġcom . pf . a for o . ui . home . supervisor Ċ Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġcom . pf . a for o . data . model . User Func ion ario Ċ import Ġcom . pf . a for o . data . repository . Users Repository Ċ Ċ class ĠAdd User ViewModel Ġ: ĠViewModel () Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġusers Repository Ġ= ĠUsers Repository () ĊĊĠĠĠ Ġprivate Ġvar Ġ_ success Response Ġ= Ġusers Repository . add User Success Response LiveData ĊĠĠĠ Ġval Ġsuccess Response : ĠMutable LiveData < String > Ġget () Ġ= Ġ_ success Response ĊĊĠĠĠ Ġprivate Ġvar Ġ_ failure Response Ġ= Ġusers Repository . add User Failure Response LiveData ĊĠĠĠ Ġval Ġfailure Response : ĠMutable LiveData < String > Ġget () Ġ= Ġ_ failure Response ĊĊĠĠĠ Ġvar Ġvalidation Error Ġ= ĠMutable LiveData < String >() ĊĠĠĠ Ġvar Ġis User Valid Ġ: ĠBoolean Ġ= Ġfalse ĊĊĠĠĠ Ġfun Ġadd User ( token : ĠString , Ġuser Func ion ario : ĠUser Func ion ario ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvalidate User ( user Func ion ario ) ĊĠĠĠĠĠĠĠ Ġif Ġ( is User Valid ) Ġusers Repository . add User ( token , Ġuser Func ion ario ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġvalidate User ( user : ĠUser Func ion ario ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ! user . is FirstName Length Valid () Ġ-> Ġvalidation Error . value Ġ= Ġ" El Ġnombre Ġdebe Ġser Ġmay or Ġa Ġ 2 Ġy Ġmen or Ġo Ġig ual Ġa Ġ 6 0 Ġcaracteres ." ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ! user . is FirstName Alphabet ic () Ġ-> Ġvalidation Error . value Ġ= Ġ" El Ġnombre Ġdebe Ġcont ener Ġsol amente Ġle tras ." ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ! user . is LastName Length Valid () Ġ-> Ġvalidation Error . value Ġ= Ġ" El Ġap ellido Ġdebe Ġser Ġmay or Ġa Ġ 2 Ġy Ġmen or Ġo Ġig ual Ġa Ġ 6 0 Ġcaracteres ." ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ! user . is LastName Alphabet ic () Ġ-> Ġvalidation Error . value Ġ= Ġ" El Ġap ellido Ġdebe Ġcont ener Ġsol amente Ġle tras ." ĊĠĠĠĠĠĠĠĠĠĠĠ Ġuser . identification Number . isNull OrEmpty () Ġ-> Ġvalidation Error . value Ġ= Ġ" De be Ġing res ar Ġun ĠnÃºmero ĠD NI ." ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ! user . is Identification Number Valid () Ġ-> Ġvalidation Error . value Ġ= Ġ" De be Ġing res ar Ġun ĠnÃºmero ĠD NI ĠvÃ¡l ido ." ĊĠĠĠĠĠĠĠĠĠĠĠ Ġuser . phoneNumber . isNull OrEmpty () Ġ-> Ġvalidation Error . value Ġ= Ġ" De be Ġing res ar Ġun ĠnÃºmero Ġde Ġtel Ã© fono ." ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ! user . is PhoneNumber Valid () Ġ-> Ġvalidation Error . value Ġ= Ġ" De be Ġing res ar Ġun ĠnÃºmero Ġde Ġtel Ã© fono ĠvÃ¡l ido ." ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ! user . is Email Valid () Ġ-> Ġvalidation Error . value Ġ= Ġ" De be Ġing res ar Ġun Ġformato Ġde Ġemail Ġvalid o ." ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ! user . is Password Valid () Ġ-> Ġvalidation Error . value Ġ= Ġ" La Ġcontr aseÃ±a Ġdebe Ġser Ġmay or Ġo Ġig ual Ġa Ġ 8 Ġcaracteres ." ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ! user . are Password s Equals () Ġ-> Ġvalidation Error . value Ġ= Ġ" L as Ġcontr ase Ã± as Ġno Ġcoin cid en ." ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis User Valid Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }