public LineaFacturaEN ReadOID(int id) { LineaFacturaEN lineaFacturaEN = null; lineaFacturaEN = _ILineaFacturaCAD.ReadOID(id); return(lineaFacturaEN); }
public LineaFacturaEN ReadOID(int id) { LineaFacturaEN lineaFacturaEN = null; try { SessionInitializeTransaction(); lineaFacturaEN = (LineaFacturaEN)session.Get(typeof(LineaFacturaEN), id); SessionCommit(); } catch (Exception ex) { SessionRollBack(); if (ex is AppEstadioGenNHibernate.Exceptions.ModelException) { throw ex; } throw new AppEstadioGenNHibernate.Exceptions.DataLayerException("Error in LineaFacturaCAD.", ex); } finally { SessionClose(); } return(lineaFacturaEN); }
public void Destroy(int id) { try { SessionInitializeTransaction(); LineaFacturaEN lineaFacturaEN = (LineaFacturaEN)session.Load(typeof(LineaFacturaEN), id); session.Delete(lineaFacturaEN); SessionCommit(); } catch (Exception ex) { SessionRollBack(); if (ex is AppEstadioGenNHibernate.Exceptions.ModelException) { throw ex; } throw new AppEstadioGenNHibernate.Exceptions.DataLayerException("Error in LineaFacturaCAD.", ex); } finally { SessionClose(); } }
public int New_(LineaFacturaEN lineaFactura) { try { SessionInitializeTransaction(); if (lineaFactura.Factura != null) { lineaFactura.Factura = (AppEstadioGenNHibernate.EN.AppEstadio.FacturaEN)session.Load(typeof(AppEstadioGenNHibernate.EN.AppEstadio.FacturaEN), lineaFactura.Factura.Id); lineaFactura.Factura.LineaFactura.Add(lineaFactura); } session.Save(lineaFactura); SessionCommit(); } catch (Exception ex) { SessionRollBack(); if (ex is AppEstadioGenNHibernate.Exceptions.ModelException) { throw ex; } throw new AppEstadioGenNHibernate.Exceptions.DataLayerException("Error in LineaFacturaCAD.", ex); } finally { SessionClose(); } return(lineaFactura.Id); }
public void Modify(int p_LineaFactura_OID) { LineaFacturaEN lineaFacturaEN = null; //Initialized LineaFacturaEN lineaFacturaEN = new LineaFacturaEN(); lineaFacturaEN.Id = p_LineaFactura_OID; //Call to LineaFacturaCAD _ILineaFacturaCAD.Modify(lineaFacturaEN); }
public int New_(int p_factura) { LineaFacturaEN lineaFacturaEN = null; int oid; //Initialized LineaFacturaEN lineaFacturaEN = new LineaFacturaEN(); if (p_factura != -1) { lineaFacturaEN.Factura = new AppEstadioGenNHibernate.EN.AppEstadio.FacturaEN(); lineaFacturaEN.Factura.Id = p_factura; } //Call to LineaFacturaCAD oid = _ILineaFacturaCAD.New_(lineaFacturaEN); return(oid); }
// Decrementa el stock, genera factura y devuelve su id public int EnviarPedidoGenerarFactura(int idPedido) { int resul = -1; try { SessionInitializeTransaction(); bool correcto = true; // Recoger el pedido PedidoCAD pedidoCAD = new PedidoCAD(session); PedidoEN pedidoEN = new PedidoEN(); pedidoEN = pedidoCAD.ReadOID(idPedido); ProductoCAD productoCAD = new ProductoCAD(session); ProductoCEN productoCEN = new ProductoCEN(productoCAD); IList <LineaFacturaEN> lineasFactura = new List <LineaFacturaEN>(); foreach (LineaPedidoEN linea in pedidoEN.LineaPedido) { ProductoEN producto = linea.Producto; productoCEN.DecrementarStock(producto.Id, linea.Unidades); IList <int> idArticulos = new List <int>(); if (linea.Producto.Stock < linea.Unidades) // No hay stock, no se envia el pedido { correcto = false; break; } for (int i = 0; correcto && i < linea.Unidades; i++) { idArticulos.Add(producto.Articulo[i].Id); } ArticuloCAD aCAD = new ArticuloCAD(session); ArticuloCEN aCEN = new ArticuloCEN(aCAD); for (int i = 0; i < idArticulos.Count; i++) { aCEN.Destroy(idArticulos[i]); } // Creamos las lineas de factura para esta linea de pedido for (int i = 0; i < linea.Unidades; i++) { LineaFacturaEN lfEN = new LineaFacturaEN(); lfEN.Articulo = producto.Articulo[i]; lineasFactura.Add(lfEN); // Luego el new de factura creara las lineas } } // Generar la factura FacturaCAD facturaCAD = new FacturaCAD(session); FacturaCEN facturaCEN = new FacturaCEN(facturaCAD); FacturaEN facturaEN = new FacturaEN(); facturaEN.Fecha = DateTime.Now; facturaEN.PrecioTotal = pedidoEN.Precio; facturaEN.Pedido = pedidoEN; facturaEN.Id = facturaCEN.New_(pedidoEN.Id, facturaEN.PrecioTotal, lineasFactura, facturaEN.Fecha); if (correcto) { resul = 1; } SessionCommit(); } catch (Exception ex) { SessionRollBack(); throw ex; } finally { SessionClose(); } return(resul); }