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(); }