Example #1
0
 public static function NuevoCheque($nombre_banco, $monto, $numero, $expedido, $id_usuario = null)
 {
     Logger::log("creando cheque");
     //Se validan los parametros obtenidos
     $validar = self::validarParametrosCheque(null, $nombre_banco, $monto, $numero, $expedido);
     if (is_string($validar)) {
         Logger::error($validar);
         throw new Exception($validar);
     }
     $cheque = new Cheque();
     $cheque->setNombreBanco($nombre_banco);
     $cheque->setMonto($monto);
     $cheque->setNumero($numero);
     $cheque->setExpedido($expedido);
     if ($expedido) {
         $id_usuario = SesionController::getCurrentUser();
         if (is_null($id_usuario)) {
             Logger::error("No se pudo obtener el usuario de la sesion, ya inicio sesion?");
             throw new Exception("No se pudo obtener el usuario de la sesion, ya inicio sesion?");
         }
     }
     $cheque->setIdUsuario($id_usuario);
     DAO::transBegin();
     try {
         ChequeDAO::save($cheque);
     } catch (Exception $e) {
         DAO::transRollback();
         Logger::error("No se pudo crear el cheque: " . $e);
         throw "No se pudo crear el cheque";
     }
     DAO::transEnd();
     Logger::log("Cheque creado exitosamente");
     return $cheque->getIdCheque();
 }
 private static function eliminarCheques($id_abono, $compra = null, $venta = null, $prestamo = null)
 {
     $resultados = null;
     $from = 0;
     //valida si el abono sera de compra, de venta o de prestamo
     //y se obtinen los cheques relacionados con dicho abono
     if ($compra) {
         $cheque_abono_compra = new ChequeAbonoCompra();
         $cheque_abono_compra->setIdAbonoCompra($id_abono);
         $resultados = ChequeAbonoCompraDAO::search($cheque_abono_compra);
         $from = 1;
     } else {
         if ($venta) {
             $cheque_abono_venta = new ChequeAbonoVenta();
             $cheque_abono_venta->setIdAbonoVenta($id_abono);
             $resultados = ChequeAbonoVentaDAO::search($cheque_abono_venta);
             $from = 2;
         } else {
             if ($prestamo) {
                 $cheque_abono_prestamo = new ChequeAbonoPrestamo();
                 $cheque_abono_prestamo->setIdAbonoPrestamo($id_abono);
                 $resultados = ChequeAbonoPrestamoDAO::search($cheque_abono_prestamo);
                 $from = 3;
             } else {
                 Logger::error("No se recibio si se eliminaran de una compra, una venta o un prestamo los cheques");
                 throw new Exception("No se recibio si los cheques se eliminaran de una compra, una venta o un prestamo");
             }
         }
     }
     $cheque = new Cheque();
     //Si no se han encontrado cheques, regresa
     if (is_null($resultados)) {
         return;
     }
     DAO::transBegin();
     try {
         //Se eliminan todos los registros encontrados para dicho abono
         foreach ($resultados as $resultado) {
             $cheque->setIdCheque($resultado->getIdCheque());
             ChequeDAO::delete($cheque);
             switch ($from) {
                 case 1:
                     ChequeAbonoCompraDAO::delete($resultado);
                     break;
                 case 2:
                     ChequeAbonoVentaDAO::delete($resultado);
                     break;
                 case 3:
                     ChequeAbonoPrestamoDAO::delete($resultado);
             }
         }
     } catch (Exception $e) {
         DAO::transRollback();
         Logger::error("No se pudieron borrar los cheques: " . $e);
         throw new Exception("No se pudieron borrar los cheques");
     }
     DAO::transEnd();
 }