Example #1
0
 protected function processPayment($row)
 {
     if ($row) {
         $manager = $this->getContainer()->get('doctrine.orm.entity_manager');
         // $accountRepo = $manager->getRepository('TSK\PaymentBundle\Entity\Account');
         // $account = $accountRepo->findOneBy(array('name' => 'Inc Fm Students', 'organization' => $this->org));
         $paymentTypeRepo = $manager->getRepository('TSK\\PaymentBundle\\Entity\\PaymentType');
         $paymentMethodRepo = $manager->getRepository('TSK\\PaymentBundle\\Entity\\PaymentMethod');
         // $incomeTypeRepo = $manager->getRepository('TSK\PaymentBundle\Entity\IncomeType');
         // $incomeType = $incomeTypeRepo->findOneBy(array('name' => 'TUITION', 'organization' => $this->org));
         $paymentRepo = $manager->getRepository('TSK\\PaymentBundle\\Entity\\Payment');
         $oldPayment = $paymentRepo->findOneBy(array('legacyPaymentId' => $row[1]));
         $isCash = true;
         if (!$oldPayment) {
             switch ($row[4]) {
                 case 'VISA':
                     $row[4] = 'VISA';
                     break;
                 case 'MC':
                     $row[4] = 'MASTERCARD';
                     break;
                 case 'SCHOOL CREDIT':
                 case 'CREDIT':
                     $row[4] = 'CREDIT';
                     $isCash = false;
                     break;
                 case 'AMEX':
                     $row[4] = 'AMERICAN EXPRESS';
                     break;
                 case 'CHECK':
                     $row[4] = 'CHECK';
                     break;
                 case 'DISCOVER':
                     $row[4] = 'DISCOVER';
                     break;
                 case 'CASH':
                     $row[4] = 'CASH';
                     break;
             }
             $payment = new Payment();
             $payment->setLegacyPaymentId($row[1]);
             $payment->setSchool($this->school);
             $payment->setPaymentType($paymentTypeRepo->findOneBy(array('name' => $row[3], 'organization' => $this->org)));
             $paymentMethod = $paymentMethodRepo->findOneBy(array('name' => $row[4], 'organization' => $this->org));
             if (!$paymentMethod) {
                 print "cannot find paymentMethod for " . $row[4];
                 exit;
             }
             $payment->setPaymentMethod($paymentMethod);
             $payment->setPaymentAmount($row[5]);
             $payment->setCreatedDate(new \DateTime($row[6]));
             $payment->setCreatedUser('mhill');
             $payment->setDescription($row[7]);
             $payment->setRefNumber($row[8]);
             $payment->setIsVoided($row[9]);
             $payment->setIsCash($isCash);
             $chargeRepo = $manager->getRepository('TSK\\PaymentBundle\\Entity\\Charge');
             $charge = $chargeRepo->findOneBy(array('legacyChargeId' => $row[2]));
             if ($charge) {
                 $cp = new ChargePayment();
                 $cp->setCharge($charge);
                 $cp->setPayment($payment);
                 $cp->setAmount(min($charge->getAmount(), $payment->getPaymentAmount()));
                 $manager->persist($cp);
             }
             $manager->persist($payment);
             $manager->flush();
         }
     }
 }