public static bool Venta(iEntidad venta,List<Producto> listProductos,iEntidad factura,bool tipoA) { ManejaVenta manejaVenta = new ManejaVenta(); return manejaVenta.Alta(venta,listProductos,factura,tipoA); }
public bool Alta(iEntidad venta, List<Producto> listProductos,iEntidad factura,bool tipoA) { bool res = true; ManejaProducto manejaProducto = new ManejaProducto(); conec.Ejecutar("start transaction"); List<Producto> aux = new List<Producto>(); bool stock = true; foreach(Producto pAux in listProductos) { if(manejaProducto.ModificacionStock(pAux)==0) { stock = false; break; } } if(!stock) { conec.Ejecutar("rollback;"); return false; } ManejaVenta manejaVenta = new ManejaVenta(); ManejaDetalleVenta manejaDetalle = new ManejaDetalleVenta(); manejaVenta.Alta(venta); DetalleVenta dv; foreach (Producto p in listProductos) { dv = new DetalleVenta(); dv.Venta = (Venta)venta; dv.Producto = p; dv.PrecioCosto = p.PrecioCosto; dv.CoefUrtil = p.CoefUtil; dv.Cantidad = p.Stock; manejaDetalle.Alta(dv); } if (tipoA) { ManejaFactura manejaFactura = new ManejaFactura(); manejaFactura.Alta(factura); } else { ManejaFacturaB manejaFacturaB = new ManejaFacturaB(); manejaFacturaB.Alta(factura); } conec.Ejecutar("commit;"); return res; }
public static bool Venta(iEntidad venta,List<Producto> listProductos) { List<Producto> aux = Devuelve.Productos(); foreach(Producto pAux in aux){ foreach(Producto p in listProductos){ if (pAux.Id == p.Id) { if (pAux.Stock < p.Stock) { return false; } } } } ManejaVenta manejaVenta = new ManejaVenta(); manejaVenta.Alta(venta); DetalleVenta dv; foreach (Producto p in listProductos) { dv = new DetalleVenta(); dv.Venta = (Venta)venta; dv.Producto = p; dv.PrecioCosto = p.PrecioCosto; dv.CoefUrtil = p.CoefUtil; dv.Cantidad = p.Stock; Agrega.DetalleVenta(dv); } foreach (Producto pAux in aux) { foreach (Producto p in listProductos) { if (pAux.Id == p.Id) { pAux.Stock -= p.Stock; Actualiza.Producto(pAux); } } } return true; }