public BaseDatosGenNHibernate.EN.BaseDatos.PedidoEN EnviarPedido(Nullable <DateTime> p_Fecha, int p_pedido) { /*PROTECTED REGION ID(BaseDatosGenNHibernate.CP.BaseDatos_Pedido_enviarPedido) ENABLED START*/ BaseDatosGenNHibernate.EN.BaseDatos.PedidoEN result = null; try { SessionInitializeTransaction(); IPedidoCAD pedidoCAD = new PedidoCAD(session); IProductoCAD prodCAD = new ProductoCAD(session); IEnvioCAD envioCAD = new EnvioCAD(session); PedidoCEN pedidoCEN = new PedidoCEN(pedidoCAD); ProductoCEN prodCEN = new ProductoCEN(prodCAD); EnvioCEN envioCEN = new EnvioCEN(envioCAD); PedidoEN pedidoEN = pedidoCEN.MuestraPedidoPorOID(p_pedido); if (pedidoEN.Estado == Enumerated.BaseDatos.EstadoPedidoEnum.Pagado) { foreach (LineaPedidoEN lnEN in pedidoEN.LineaPedido) { ProductoEN prodEN = lnEN.Producto; prodCEN = new ProductoCEN(prodCAD); prodCEN.DecrementaStock(prodEN.Id, lnEN.Cantidad); } pedidoEN.Estado = Enumerated.BaseDatos.EstadoPedidoEnum.Enviado; pedidoCAD.Modify(pedidoEN); envioCEN = new EnvioCEN(envioCAD); envioCEN.New_(DateTime.Now, p_Fecha, Enumerated.BaseDatos.EstadoEnvioEnum.EnCamino, p_pedido); } SessionCommit(); } catch (Exception ex) { SessionRollBack(); throw ex; } finally { SessionClose(); } return(result); /*PROTECTED REGION END*/ }
public System.Collections.Generic.IList <double> CalcularFactura(int p_pedido, ISession p_session) { /*PROTECTED REGION ID(BaseDatosGenNHibernate.CP.BaseDatos_Pedido_calcularFactura) ENABLED START*/ System.Collections.Generic.IList <double> result = null; try { SessionInitializeTransaction(); IPedidoCAD pedidoCAD = new PedidoCAD(p_session); PedidoCEN pedidoCEN = new PedidoCEN(pedidoCAD); PedidoEN pedidoEN = pedidoCEN.MuestraPedidoPorOID(p_pedido); double precioTotal = 0; double totalIVA = 0; double precioSinIVA = 0; foreach (LineaPedidoEN lineaPedidoEN in pedidoEN.LineaPedido) { ProductoEN productoEN = lineaPedidoEN.Producto; precioTotal = precioTotal + (productoEN.Precio * lineaPedidoEN.Cantidad); } totalIVA = precioTotal * 0.21; precioSinIVA = precioTotal - totalIVA; result = new List <double>(); result.Add(precioTotal); result.Add(precioSinIVA); result.Add(totalIVA); SessionCommit(); } catch (Exception ex) { SessionRollBack(); throw ex; } return(result); /*PROTECTED REGION END*/ }
public void RechazarPedido(int p_pedido) { /*PROTECTED REGION ID(BaseDatosGenNHibernate.CP.BaseDatos_Pedido_rechazarPedido) ENABLED START*/ try { SessionInitializeTransaction(); IPedidoCAD pedidoCAD = new PedidoCAD(session); IEnvioCAD envioCAD = new EnvioCAD(session); PedidoCEN pedidoCEN = new PedidoCEN(pedidoCAD); EnvioCEN envioCEN = new EnvioCEN(envioCAD); PedidoEN pedidoEN = pedidoCEN.MuestraPedidoPorOID(p_pedido); if (pedidoEN.Estado == Enumerated.BaseDatos.EstadoPedidoEnum.Enviado) { EnvioEN envioEN = pedidoEN.Envio; envioEN.Estado = Enumerated.BaseDatos.EstadoEnvioEnum.Extraviado; envioCAD.Modify(envioEN); } pedidoEN.Estado = Enumerated.BaseDatos.EstadoPedidoEnum.Rechazado; pedidoCAD.Modify(pedidoEN); SessionCommit(); } catch (Exception ex) { SessionRollBack(); throw ex; } finally { SessionClose(); } /*PROTECTED REGION END*/ }
public void CrearFactura(int p_pedido, Nullable <DateTime> p_FechaPago) { /*PROTECTED REGION ID(BaseDatosGenNHibernate.CP.BaseDatos_Factura_crearFactura) ENABLED START*/ FacturaCEN facturaCEN = null; PedidoCEN pedidoCEN = null; DirEnvioCEN dirEnvioCEN = null; MetodoPagoCEN metodoPagoCEN = null; try { SessionInitializeTransaction(); IFacturaCAD facturaCAD = new FacturaCAD(session); IPedidoCAD pedidoCAD = new PedidoCAD(session); IDirEnvioCAD dirEnvioCAD = new DirEnvioCAD(session); IMetodoPagoCAD metodoPagoCAD = new MetodoPagoCAD(session); facturaCEN = new FacturaCEN(facturaCAD); pedidoCEN = new PedidoCEN(pedidoCAD); dirEnvioCEN = new DirEnvioCEN(dirEnvioCAD); metodoPagoCEN = new MetodoPagoCEN(metodoPagoCAD); PedidoEN pedidoEN = pedidoCEN.MuestraPedidoPorOID(p_oid); if (pedidoEN.Estado == Enumerated.BaseDatos.EstadoPedidoEnum.Pendiente) { DirEnvioEN dirEnvioEN = dirEnvioCEN.MuestraDireccionPorOID(dirEnvioCEN.New_(p_Calle, p_CP, p_Localidad, p_Provincia, p_oid)); MetodoPagoEN metodoPagoEN = metodoPagoCEN.MuestraMetodoPagoPorOID(metodoPagoCEN.New_(p_TipoPago, p_oid)); //pedidoCEN.AddDirEnvio(p_oid, dirEnvioEN.Id); //pedidoCEN.AddMetodoPago(p_oid, metodoPagoEN.Id); double precioTotal = 0; double totalIVA = 0; double precioSinIVA = 0; foreach (LineaPedidoEN lineaPedidoEN in pedidoEN.LineaPedido) { ProductoEN productoEN = lineaPedidoEN.Producto; precioTotal = precioTotal + (productoEN.Precio * lineaPedidoEN.Cantidad); } totalIVA = precioTotal * 0.21; precioSinIVA = precioTotal - totalIVA; facturaCEN.New_(precioTotal, p_oid, totalIVA, precioSinIVA); pedidoCEN.Modify(p_oid, pedidoEN.Fecha, Enumerated.BaseDatos.EstadoPedidoEnum.Pagado); } SessionCommit(); } catch (Exception ex) { SessionRollBack(); throw ex; } finally { SessionClose(); } /*PROTECTED REGION END*/ }
public void PagarPedido(int p_pedido, int p_dirEnvio, int p_metodoPago) { /*PROTECTED REGION ID(BaseDatosGenNHibernate.CP.BaseDatos_Pedido_pagarPedido) ENABLED START*/ try { SessionInitializeTransaction(); IPedidoCAD pedidoCAD = new PedidoCAD(session); IDirEnvioCAD dirEnvioCAD = new DirEnvioCAD(session); IMetodoPagoCAD metodoPagoCAD = new MetodoPagoCAD(session); IFacturaCAD facturaCAD = new FacturaCAD(session); PedidoCEN pedidoCEN = new PedidoCEN(pedidoCAD); DirEnvioCEN dirEnvioCEN = new DirEnvioCEN(dirEnvioCAD); MetodoPagoCEN metodoPagoCEN = new MetodoPagoCEN(metodoPagoCAD); FacturaCEN facturaCEN = new FacturaCEN(facturaCAD); PedidoEN pedidoEN = pedidoCEN.MuestraPedidoPorOID(p_pedido); if (pedidoEN.Estado == Enumerated.BaseDatos.EstadoPedidoEnum.Pendiente) { DirEnvioEN dirEnvioEN = dirEnvioCEN.MuestraDireccionPorOID(p_dirEnvio); MetodoPagoEN metodoPagoEN = metodoPagoCEN.MuestraMetodoPagoPorOID(p_metodoPago); pedidoCEN.AddDirEnvio(p_pedido, dirEnvioEN.Id); pedidoCEN.AddMetodoPago(p_pedido, metodoPagoEN.Id); pedidoEN.Estado = Enumerated.BaseDatos.EstadoPedidoEnum.Pagado; pedidoCAD.Modify(pedidoEN); double precioTotal = 0; double totalIVA = 0; double precioSinIVA = 0; foreach (LineaPedidoEN lineaPedidoEN in pedidoEN.LineaPedido) { ProductoEN productoEN = lineaPedidoEN.Producto; precioTotal = precioTotal + (productoEN.Precio * lineaPedidoEN.Cantidad); } totalIVA = precioTotal * 0.21; precioSinIVA = precioTotal - totalIVA; facturaCEN.New_(precioTotal, p_pedido, totalIVA, precioSinIVA, DateTime.Now); } SessionCommit(); } catch (Exception ex) { SessionRollBack(); throw ex; } finally { SessionClose(); } /*PROTECTED REGION END*/ }