// POST api/VentaDetalleService public VentaDetalle saveOrUpdate(VentaDetalle v) { if (v.idVentaDetalle > 0) { db.Entry(v).State = EntityState.Modified; } else { v = this.db.VentaDetalle.Add(v); } this.save(); return v; }
public void RegistrarVenta (RegistrarVenta RV) { Venta v = new Venta(); v.idVenta = RV.idVenta; v.idVendedor = RV.idVendedor; v.idCliente = RV.idCliente; v.Fecha = RV.fecha; v.Total = RV.total; v.Estado = "A"; RV.estado = 'A'; v.FechaAlta = DateTime.Today; v.UsuarioAlta = 1; v.idMedioPago = RV.idMedioPago; v.idSucursal = RV.idSucursal; v.NroTicket = RV.NroTicket; v.idTarjeta = RV.idTarjeta; v.TotalPromocion = RV.totalpromocion; v = this.db.Venta.Add(v); RV.idVenta = v.idVenta; // this.save(); foreach (VentaDetalle1 VD in RV.VentaDetalle ) { VentaDetalle v_vd = new VentaDetalle(); v_vd.idVenta = v.idVenta; v_vd.idVentaDetalle = VD.idVentaDetalle; v_vd.idProducto = VD.idProducto; v_vd.PrecioUnitario = VD.PrecioUnitario; v_vd.PrecioFinal = VD.PrecioFinal; v_vd.Cantidad = VD.Cantidad; v_vd.FechaAlta = DateTime.Today; v_vd.Estado = "A"; v_vd.UsuarioAlta = 1; v_vd = this.db.VentaDetalle.Add(v_vd); VD.idVentaDetalle = v_vd.idVentaDetalle; //Descontar el Stock Stock s = this.db.Stock.Where(s1 => s1.idProducto == VD.idProducto).FirstOrDefault(); if (s != null) { s.Cantidad = s.Cantidad - VD.Cantidad; db.Entry(s).State = EntityState.Modified; } } foreach (VentaPromoDetalle VP in RV.VentaPromoDetalle) { VentaPromoDetalle v_vpd = new VentaPromoDetalle(); v_vpd.IdVenta = v.idVenta; v_vpd.idPromocion = VP.idPromocion; v_vpd.idPromoDetalle = VP.idPromoDetalle; v_vpd.Cantidad = VP.Cantidad; v_vpd.PrecioUnitario = VP.PrecioUnitario; v_vpd.PrecioTotal = VP.PrecioTotal; v_vpd.Estado = "A"; v_vpd.UsuarioAlta = 1; v_vpd.FechaAlta = DateTime.Today; v_vpd = this.db.VentaPromoDetalle.Add(v_vpd); VP.idPromoDetalle = v_vpd.idPromoDetalle; } //Impactar la caja dependiendo del medio de pago (1 - Efectivo) if (RV.idMedioPago == 1) { Caja c = new Caja(); c.idCaja = 0; c.idConcepto = this.db.Concepto.Where(c1 => c1.Descripcion == "Venta").FirstOrDefault().IdConcepto; c.Descripcion = "Venta Correspondiente a la Venta nro: " + RV.NroTicket; c.TipoMovimiento = "I"; c.Monto = RV.total; c.Estado = "A"; c.FechaAlta = DateTime.Today; c.UsuarioAlta = 1; c = this.db.Caja.Add(c); } this.save(); }