public ActionResult DetalleCompra(int id) { dbHeredadesEntities db = new dbHeredadesEntities(); tbVenta venta = db.tbVenta.Find(id); decimal total = 0; foreach (tbVentaProducto item in venta.tbVentaProducto) { total += (item.precioVenta + item.agregado) * item.cantidad; } ViewBag.total = Math.Truncate(total * 100) / 100; ViewBag.codDeudor = venta.codDeudor; return(View(venta)); }
public ActionResult DetalleVenta(int id) { dbHeredadesEntities db = new dbHeredadesEntities(); tbVenta venta = db.tbVenta.Find(id); bool tipoVenta = false; decimal total = 0; foreach (tbVentaProducto item in venta.tbVentaProducto) { total += (item.precioVenta + item.agregado) * item.cantidad; } if (venta.codDeudor != null) { tipoVenta = true; } ViewBag.tipoVenta = tipoVenta; ViewBag.total = Math.Truncate(total * 100) / 100; return(View(venta)); }
public int Vender(List <ProductoVenta> lista, int?codDeudor) { try { dbHeredadesEntities db = new dbHeredadesEntities(); tbDeudor deudor = null; tbVenta venta = new tbVenta { fecha = DateTime.Now, codUsuario = Sesion.ObtenerCodigo(), estado = true }; if (codDeudor != null) { venta.codDeudor = codDeudor.Value; deudor = db.tbDeudor.Find(codDeudor); } //variable para calcular la deuda total al deudor o que entra a caja decimal total = 0; foreach (ProductoVenta item in lista) { tbProductoPresentacion prodPres = db.tbProductoPresentacion.Find(item.codProducto, item.codPresentacion); //Se crea el nuevo obejeto de venta con el precio escogido tbVentaProducto producto = new tbVentaProducto { codProducto = prodPres.codProducto, codPresentacion = prodPres.codPresentacion, cantidad = item.cantidad, precioVenta = (item.precioSeleccionado == 1) ? prodPres.precioVentaMinimo : ((item.precioSeleccionado == 2) ? prodPres.precioVentaMedio : prodPres.precioVentaMaximo), agregado = prodPres.agregado }; venta.tbVentaProducto.Add(producto); //se reduce la venta a la existencia prodPres.existencia -= item.cantidad; //se agrega al total if (deudor != null) { total += (producto.precioVenta + producto.agregado) * producto.cantidad; } else { total += producto.precioVenta * producto.cantidad; } } if (deudor != null) { //si hay un deudor, se le agrega a la deuda deudor.deuda += total; } else { //si no hay deudor, se agrega a la caja tbTransaccionCaja transaccionCaja = new tbTransaccionCaja { tipoTransaccion = 0, codUsuario = Sesion.ObtenerCodigo(), cantidad = total, fecha = DateTime.Now }; CajaController.Sumar(total); db.tbTransaccionCaja.Add(transaccionCaja); } db.tbVenta.Add(venta); db.SaveChanges(); return(1); } catch (Exception) { return(2); } }