コード例 #1
0
ファイル: BorrowerService.php プロジェクト: Junyue/zidisha2
 public function updatePersonalInformation(Borrower $borrower, $data)
 {
     $updatedContacts = [];
     PropelDB::transaction(function ($con) use($borrower, $data, $updatedContacts) {
         $profile = $borrower->getProfile();
         $profile->setAddress($data['address']);
         $profile->setAddressInstructions($data['addressInstructions']);
         $profile->setCity($data['city']);
         $profile->setNationalIdNumber($data['nationalIdNumber']);
         $profile->setPhoneNumber($data['phoneNumber']);
         $profile->setAlternatePhoneNumber($data['alternatePhoneNumber']);
         $profile->save($con);
         $communityLeader = $borrower->getCommunityLeader();
         if ($communityLeader->getPhoneNumber() != $data['communityLeader']['phoneNumber']) {
             $updatedContacts[] = $communityLeader;
         }
         $communityLeader->setFirstName($data['communityLeader']['firstName'])->setLastName($data['communityLeader']['lastName'])->setPhoneNumber($data['communityLeader']['phoneNumber'])->setDescription($data['communityLeader']['description']);
         $communityLeader->save($con);
         foreach ($borrower->getFamilyMembers() as $i => $familyMember) {
             if ($familyMember->getPhoneNumber() != $data['familyMember'][$i + 1]['phoneNumber']) {
                 $updatedContacts[] = $familyMember;
             }
             $familyMember->setFirstName($data['familyMember'][$i + 1]['firstName'])->setLastName($data['familyMember'][$i + 1]['lastName'])->setPhoneNumber($data['familyMember'][$i + 1]['phoneNumber'])->setDescription($data['familyMember'][$i + 1]['description']);
             $familyMember->save($con);
         }
         foreach ($borrower->getNeighbors() as $i => $neighbor) {
             if ($neighbor->getPhoneNumber() != $data['neighbor'][$i + 1]['phoneNumber']) {
                 $updatedContacts[] = $neighbor;
             }
             $neighbor->setFirstName($data['neighbor'][$i + 1]['firstName'])->setLastName($data['neighbor'][$i + 1]['lastName'])->setPhoneNumber($data['neighbor'][$i + 1]['phoneNumber'])->setDescription($data['neighbor'][$i + 1]['description']);
             $neighbor->save($con);
         }
     });
     foreach ($updatedContacts as $contact) {
         $this->borrowerSmsService->sendBorrowerJoinedContactConfirmationSms($contact);
     }
 }