public function saveCobroForm(Form $form, Cobro $cobro, $cuentaId) { $cuenta = $this->em->getRepository('AppBundle:Cuenta')->find($cuentaId); $result = false; $message = 'Ocurrion un error al guardar el cobro.'; $amount = 0; $positive = false; if ($cuenta && $form->isValid()) { $cobro->setCuenta($cuenta); $this->em->persist($cobro); $cuenta->addPagoAmount($cobro->getMonto()); $this->em->persist($cuenta); $this->em->flush(); $result = true; $message = 'Cobro guardado con exito.'; if ($cobro->getEnviado()) { //send email $message .= ' Email enviado correctamente'; } $amount = $cuenta->getFormatedDiferencia(); if ($cuenta->getDiferencia() < 0) { $positive = true; } } return array('result' => $result, 'message' => $message, 'amount' => $amount, 'positive' => $positive, 'cuentaId' => $cuentaId, 'cobro' => $cobro); }
public function addCobroToCuenta(Cuenta $cuenta, $amount, \DateTime $paymentDate) { $cobro = new Cobro(); $cobro->setMonto($amount); $cobro->setFecha($paymentDate); $cobro->setCuenta($cuenta); $cuenta->setPago($cuenta->getPago() + $amount); $this->em->persist($cobro); $this->em->persist($cuenta); $this->em->flush(); }
public function load(ObjectManager $manager) { $sql = 'select id, cuenta_id, fecha, monto from cobro order by cuenta_id'; $username = DataFixturesConstants::DBUSER; $password = DataFixturesConstants::DBPASS; $database = DataFixturesConstants::DBSCHEMA; return; $conn = new \PDO(sprintf('mysql:host=localhost;dbname=%s', $database), $username, $password, array(\PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'")); $stmt = $conn->prepare($sql); $stmt->execute(); $metadata = $manager->getClassMetaData(get_class(new Cobro())); $metadata->setIdGeneratorType(\Doctrine\ORM\Mapping\ClassMetadata::GENERATOR_TYPE_NONE); $cuenta = null; $cuentaId = null; while ($row = $stmt->fetch()) { // Adding cobro $cobro = new Cobro(); $cobro->setId($row['id']); $fecha = $row['fecha']; if ($fecha) { $cobro->setFecha(new \DateTime($fecha)); } $cobro->setMonto($row['monto']); if ($cuentaId != $row['cuenta_id']) { $cuenta = $manager->getRepository('AppBundle:Cuenta')->find($row['cuenta_id']); } $cobro->setCuenta($cuenta); $manager->persist($cobro); } $manager->flush(); }
public function exportCobroToPdf(Cobro $cobro, Cuenta $account = null, $location = null, $returnBuffer = false) { if ($account === null) { $account = $cobro->getCuenta(); } $alumnos = ''; foreach ($account->getEstudiantes() as $estudiante) { $alumnos .= $estudiante->getNombre() . ','; } if (strlen($alumnos) > 0) { $alumnos = rtrim($alumnos, ','); } $padres = ''; foreach ($account->getProgenitores() as $progenitor) { $padres .= $progenitor->getNombre() . ' ' . ','; } if (strlen($padres) > 0) { $padres = rtrim($padres, ','); } $pdf = new Invoice(20, 'P', 'mm', 'A4'); $pdf->AddPage(); $pdf->addSociete($this->webDirectory . 'bundles/app/img/logo.png'); $pdf->temporaire("Bunny's Kinder"); $pdf->addDate(date('d/m/Y')); $pdf->addClient($account->getReferenciabancaria()); $pdf->addAlumnos($alumnos); $pdf->addPadres($padres); $colsNumbers = array('Item' => 30, 'Descripción' => 130, 'Precio' => 30); $pdf->addCols($colsNumbers); $cols = array('Item' => 'C', 'Descripción' => 'C', 'Precio' => 'C'); $pdf->addLineFormat($cols); $y = 70; $size = 0; $counterItems = 1; $linea = array('Item' => $counterItems, 'Descripción' => sprintf('Pago en la fecha: %s', $cobro->getFecha()->format('d/m/Y')), 'Precio' => '$' . number_format($cobro->getMonto(), 0, ',', '.')); $size = $pdf->addLine($y, $linea); $y += $size + 2; ++$counterItems; $pdf->addCadreEurosFrancs('$ ' . number_format($cobro->getMonto(), 0, ',', '.')); $outputOption = 'I'; if ($returnBuffer) { $outputOption = 'S'; } else { if ($location !== null) { if (!is_dir($location)) { $location = sys_get_temp_dir(); } $outputOption = 'F'; $location .= DIRECTORY_SEPARATOR; } else { $location = ''; } } $outputName = sprintf('Cobro-%s-%s.pdf', $account->getReferenciabancaria(), date('m-Y')); $returnPdf = $pdf->Output($location . $outputName, $outputOption); if ($outputOption == 'F') { return $location . $outputName; } if ($outputOption == 'S') { return array('name' => $outputName, 'buffer' => $returnPdf); } }