/** * Performs the work of inserting or updating the row in the database. * * If the object is new, it inserts it; otherwise an update is performed. * All related objects are also updated in this method. * * @param PropelPDO $con * @return int The number of rows affected by this insert/update and any referring fk objects' save() operations. * @throws PropelException * @see save() */ protected function doSave(PropelPDO $con) { $affectedRows = 0; // initialize var to track total num of affected rows if (!$this->alreadyInSave) { $this->alreadyInSave = true; // We call the save method on the following object(s) if they // were passed to this object by their corresponding set // method. This object relates to these object(s) by a // foreign key reference. if ($this->aLeasingEventPlace !== null) { if ($this->aLeasingEventPlace->isModified() || $this->aLeasingEventPlace->isNew()) { $affectedRows += $this->aLeasingEventPlace->save($con); } $this->setLeasingEventPlace($this->aLeasingEventPlace); } if ($this->aLeasingEventLeads !== null) { if ($this->aLeasingEventLeads->isModified() || $this->aLeasingEventLeads->isNew()) { $affectedRows += $this->aLeasingEventLeads->save($con); } $this->setLeasingEventLeads($this->aLeasingEventLeads); } if ($this->isNew() || $this->isModified()) { // persist changes if ($this->isNew()) { $this->doInsert($con); } else { $this->doUpdate($con); } $affectedRows += 1; $this->resetModified(); } $this->alreadyInSave = false; } return $affectedRows; }
public function saveEventBookingAction() { $request = $this->getRequest(); $directory = $request->server->get('DOCUMENT_ROOT') . '/secured/uploads/events/'; $files = $request->files->get('documents'); $salutation = $request->request->get('salutation'); $fname = $request->request->get('fname'); $lname = $request->request->get('lname'); $gender = $request->request->get('gender'); $age = $request->request->get('age'); $email = $request->request->get('email'); $mobile = $request->request->get('mobile'); $tmpbdate = $request->request->get('bdate'); $bdate = new \DateTime($tmpbdate); $tmpEventDate = $request->request->get('eventDate'); $eventDate = new \DateTime($tmpEventDate); $eventTimeFrom = $request->request->get('eventTimeFrom'); $eventTimeTo = $request->request->get('eventTimeTo'); $eventPostId = $request->request->get('postId'); $eventSpecific = $request->request->get('eventSpecific'); $firstHeard = $request->request->get('firstHeard'); $date = new \DateTime('now'); $eventPlace = LeasingEventPlacePeer::getEventPlaceByPostId($eventPostId); $eventLead = new LeasingEventLeads(); $eventLead->setFname($fname); $eventLead->setLname($lname); $eventLead->setBirthdate($bdate->format('Y-m-d')); $eventLead->setAge($age); $eventLead->setGender($gender); $eventLead->setMobile($mobile); $eventLead->setEmail($email); $eventLead->setEventLeadType(1); $eventLead->save(); $eventBooking = new LeasingEventBookings(); $eventBooking->setEventPlaceId($eventPlace->getId()); $eventBooking->setEventPlaceSpecific($eventSpecific); $eventBooking->setEventLeadsId($eventLead->getId()); $eventBooking->setEventDate($eventDate->format('Y-m-d')); $eventBooking->setEventStartTime($eventTimeFrom); $eventBooking->setEventEndTime($eventTimeTo); $eventBooking->setDateAdded($date->format(C::DATETIMEFORMAT)); $eventBooking->setFirstHeard($firstHeard); $eventBooking->setStatus(C::PENDING); $eventBooking->setPrevStatus(C::PENDING); $eventBooking->save(); $code = 'EV' . U::generateCode(5, $eventBooking->getId()); $eventBooking->setApplicationNumber($code); $eventBooking->save(); $tl1 = new LeasingTimelineActivity(); $tl1->setLeadTypeId(C::EVENT); $tl1->setLeadId($eventBooking->getId()); $tl1->setUser('Lead'); $tl1->setActivity('Requested for Event Space Rental'); $tl1->setTimestamp($date->format(C::DATETIMEFORMAT)); $tl1->setStatus('Pending'); $tl1->setStatusId(C::PENDING); $tl1->save(); foreach ($files as $file) { $tmp = $file->getPathName(); $fileName = $eventBooking->getId() . '_' . $eventLead->getLname() . '_' . $eventBooking->getApplicationNumber() . '_' . $file->getClientOriginalName(); $target = $directory . $fileName; if (move_uploaded_file($tmp, $target)) { $doc = new LeasingDocument(); $doc->setDocument($fileName); $doc->save(); $ld = new LeasingLeadDocument(); $ld->setLeadId($eventBooking->getId()); $ld->setDocumentId($doc->getId()); $ld->setLeadTypeId(C::EVENT); $ld->save(); } else { echo -2; exit; } } $this->get('session')->set('thank-you', 1); $client = new GlobeClient(); $msg = "Thank you, " . $eventLead->getFname() . " " . $eventLead->getLname() . "! Your application reference number (ARN) is " . $eventBooking->getApplicationNumber() . ". We will update you ASAP once we've reviewed your application. You can check your status in this page, http://bit.ly/as12f. Log in with your last name and ARN. This msg is FREE."; $sms = $client->sms($this->globeShortCode); $response = $sms->sendMessage($eventLead->getMobile(), $msg, $this->appId, $this->appSecret); if ($response && !isset($response['error'])) { $badge = new LeasingLeadBadges(); $badge->setBadgeId(11); $badge->setLeadTypeId(C::EVENT); $badge->setLeadId($eventBooking->getId()); $badge->setStatus(1); $badge->save(); $tl2 = new LeasingTimelineActivity(); $tl2->setLeadTypeId(C::EVENT); $tl2->setLeadId($eventBooking->getId()); $tl2->setUser('System'); $tl2->setActivity('Verified mobile number'); $tl2->setTimestamp($date->format(C::DATETIMEFORMAT)); $tl2->setStatus('Mobile Verified'); $tl2->setStatusId(C::MOBILE_VERIFIED); $tl2->save(); } $ve = VerifyEmail::verifyThisEmail($eventLead->getEmail()); if ($ve = 'valid') { $badge = new LeasingLeadBadges(); $badge->setBadgeId(12); $badge->setLeadTypeId(C::EVENT); $badge->setLeadId($eventBooking->getId()); $badge->setStatus(1); $badge->save(); $tl3 = new LeasingTimelineActivity(); $tl3->setLeadTypeId(C::EVENT); $tl3->setLeadId($eventBooking->getId()); $tl3->setUser('System'); $tl3->setActivity('Verified email address'); $tl3->setTimestamp($date->format(C::DATETIMEFORMAT)); $tl3->setStatus('Email Verified'); $tl3->setStatusId(C::EMAIL_VERIFIED); $tl3->save(); } echo 1; exit; }
/** * Performs the work of inserting or updating the row in the database. * * If the object is new, it inserts it; otherwise an update is performed. * All related objects are also updated in this method. * * @param PropelPDO $con * @return int The number of rows affected by this insert/update and any referring fk objects' save() operations. * @throws PropelException * @see save() */ protected function doSave(PropelPDO $con) { $affectedRows = 0; // initialize var to track total num of affected rows if (!$this->alreadyInSave) { $this->alreadyInSave = true; // We call the save method on the following object(s) if they // were passed to this object by their corresponding set // method. This object relates to these object(s) by a // foreign key reference. if ($this->aLeasingEventPlace !== null) { if ($this->aLeasingEventPlace->isModified() || $this->aLeasingEventPlace->isNew()) { $affectedRows += $this->aLeasingEventPlace->save($con); } $this->setLeasingEventPlace($this->aLeasingEventPlace); } if ($this->aLeasingEventLeads !== null) { if ($this->aLeasingEventLeads->isModified() || $this->aLeasingEventLeads->isNew()) { $affectedRows += $this->aLeasingEventLeads->save($con); } $this->setLeasingEventLeads($this->aLeasingEventLeads); } if ($this->isNew() || $this->isModified()) { // persist changes if ($this->isNew()) { $this->doInsert($con); } else { $this->doUpdate($con); } $affectedRows += 1; $this->resetModified(); } if ($this->leasingEventPaymentDetailssScheduledForDeletion !== null) { if (!$this->leasingEventPaymentDetailssScheduledForDeletion->isEmpty()) { foreach ($this->leasingEventPaymentDetailssScheduledForDeletion as $leasingEventPaymentDetails) { // need to save related object because we set the relation to null $leasingEventPaymentDetails->save($con); } $this->leasingEventPaymentDetailssScheduledForDeletion = null; } } if ($this->collLeasingEventPaymentDetailss !== null) { foreach ($this->collLeasingEventPaymentDetailss as $referrerFK) { if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) { $affectedRows += $referrerFK->save($con); } } } if ($this->leasingPaymentTransactionssScheduledForDeletion !== null) { if (!$this->leasingPaymentTransactionssScheduledForDeletion->isEmpty()) { foreach ($this->leasingPaymentTransactionssScheduledForDeletion as $leasingPaymentTransactions) { // need to save related object because we set the relation to null $leasingPaymentTransactions->save($con); } $this->leasingPaymentTransactionssScheduledForDeletion = null; } } if ($this->collLeasingPaymentTransactionss !== null) { foreach ($this->collLeasingPaymentTransactionss as $referrerFK) { if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) { $affectedRows += $referrerFK->save($con); } } } $this->alreadyInSave = false; } return $affectedRows; }