示例#1
0
 protected function processSchool($file)
 {
     $csvFile = new CsvFile($file);
     $count = 0;
     foreach ($csvFile as $row) {
         if ($count > 0) {
             $row = array_map('trim', $row);
             // try {
             $manager = $this->getContainer()->get('doctrine.orm.entity_manager');
             // check for school dupe
             $schoolRepo = $manager->getRepository('TSKSchoolBundle:School');
             $oldSchool = $schoolRepo->findOneBy(array('legacyId' => $row[0]));
             if (!$oldSchool) {
                 $statesRepo = $manager->getRepository('TSKUserBundle:States');
                 $contactManager = $this->getContainer()->get('tsk_user.contact_manager');
                 $contact = $contactManager->createContact();
                 $contact->setOrganization($this->org);
                 $contact->setFirstName($row[1]);
                 $contact->setLastName($row[2]);
                 $contact->setEmail($row[3]);
                 $contact->setAddress1($row[4]);
                 $contact->setAddress2($row[5]);
                 $contact->setCity($row[6]);
                 $contact->setState($statesRepo->find($row[7]));
                 $contact->setPostalCode($row[8]);
                 $contact->setPhone($row[9]);
                 $contact->setMobile($row[10]);
                 $contact->setWebsite($row[11]);
                 $contactManager->updateCanonicalFields($contact);
                 $corporation = new Corporation();
                 $corporation->setTaxId($row[14]);
                 $corporation->setLegalName($row[12]);
                 $corporation->setDba($row[13]);
                 $corporation->setAccountNum($row[17]);
                 $corporation->setRoutingNum($row[16]);
                 $contact->addCorporation($corporation);
                 $school = new School();
                 $school->setName($row[1] . ' ' . $row[2]);
                 $school->setLegacyId($row[0]);
                 $school->setDeferralRate(0.75);
                 $school->setDistributionStrategy('accelerated');
                 $school->setPaymentMax(1000);
                 $school->setLateGraceDays(5);
                 $school->setLatePaymentCharge(25);
                 $school->setContact($contact);
                 // $manager = $this->getContainer()->get('doctrine.orm.entity_manager');
                 $manager->persist($school);
                 $manager->flush();
                 $this->school = $school;
                 // $this->processRow($row);
                 // $count++;
             } else {
                 // print 'we already have this school!';
             }
             // } catch (DBALException $e) {
             //     throw $e;
             //     print 'caught it';
             // } catch (\Exception $e) {
             //     throw $e;
             // }
         }
         $count++;
     }
 }