public static function saveAcount(ePerson $ePerson, eUser $eUser, eUserProfile $eUserProfile, $eUserProfile_CompanyBranches) { $oBus = new Response_Business(); $MY =& MY_Controller::get_instance(); /* @var $mPerson Person_Model */ $mPerson =& $MY->mPerson; /* @var $mUser User_Model */ $mUser =& $MY->mUser; /* @var $mUserProfile User_Profile_Model */ $mUserProfile =& $MY->mUserProfile; /* @var $mUserProfileCompanyBranch User_Profile_Company_Branch_Model */ $mUserProfileCompanyBranch =& $MY->mUserProfileCompanyBranch; $oTransaction = new MY_Business(); $oTransaction->begin(); try { if (!Helper_App_Session::isAdminProfile() || !Helper_App_Session::isSuperAdminProfile()) { if (Business_App_Person::isValidDocument($ePerson->document)) { throw new Exception('Documento Invalido, No permitido'); } } $ePersonT = $mPerson->loadByDocument($ePerson->document, $ePerson->id); if (!$ePersonT->isEmpty()) { throw new Exception('Persona Existente'); } $eUserT = $mUser->load($eUser->username, 'username', $eUser->id); if (!$eUserT->isEmpty()) { throw new Exception('Usuario Existente'); } $mPerson->save($ePerson); $mUser->save($eUser); $eUserProfileT = $mUserProfile->loadArray(array('id_user' => $eUser->id, 'id_profile' => $eUserProfile->id_profile)); $eUserProfile->id_user = $eUser->id; $eUserProfile->id = $eUserProfileT->id; $mUserProfile->save($eUserProfile); $mUserProfileCompanyBranch->deleteByUserProfile($eUserProfile->id); if (!empty($eUserProfile_CompanyBranches)) { /* @var $eUserProfileCompanyBranch eUserProfileCompanyBranch */ foreach ($eUserProfile_CompanyBranches as $eUserProfileCompanyBranch) { $eUserProfileCompanyBranch->id_user_profile = $eUserProfile->id; $mUserProfileCompanyBranch->save($eUserProfileCompanyBranch); } } $oTransaction->commit(); $oBus->isSuccess(TRUE); $oBus->message("Guardado exitosamente"); } catch (Exception $e) { $oTransaction->rollback(); $oBus->isSuccess(FALSE); $oBus->message($e->getMessage()); } return $oBus; }
public static function savePerson(ePerson $ePerson) { $oBus = new Response_Business(); $MY =& MY_Controller::get_instance(); /* @var $mPerson Person_Model */ $mPerson =& $MY->mPerson; $oTransaction = new MY_Business(); $oTransaction->begin(); try { $ePersonT = $mPerson->load($ePerson->id); if (!Helper_App_Session::isAdminProfile() || !Helper_App_Session::isSuperAdminProfile()) { if (Business_App_Person::isValidDocument($ePerson->document)) { throw new Exception('Documento Invalido: ' + $ePerson->document); } if ($ePersonT->tipo_documento != $ePerson->tipo_documento) { throw new Exception('No tiene permisos para editar el tipo de documento'); } if ($ePersonT->document != $ePerson->document) { throw new Exception('No tiene permisos para editar el documento'); } } $ePersonDocument = $mPerson->loadByDocument($ePerson->document, $ePerson->id); if (!$ePersonDocument->isEmpty()) { throw new Exception('Documento Existente: ' + $ePerson->document); } $mPerson->save($ePerson); $oBus->isSuccess(TRUE); $oBus->message("Guardado exitosamente"); $oTransaction->commit(); } catch (Exception $e) { $oTransaction->rollback(); $oBus->isSuccess(FALSE); $oBus->message($e->getMessage()); } return $oBus; }