public MontoProducto ObtenerPendientePago() { if (EstaPaga) { return(new MontoProducto(0, 0)); } return(VentaItems.Select(x => x.ObtenerPendientePago()).Aggregate((x, y) => x + y)); }
public MontoPago ObtenerPendienteMontoPago(decimal porcentajeCft, decimal porcentajeFacturacion, TipoCliente tipoCliente, TipoPago formaDePago) { if (EstaPaga || VentaItems.Count == 0) { return(new MontoPago(0, 0, 0, 0)); } return(VentaItems.Select(x => x.ObtenerMontoPagoPendiente(porcentajeCft, porcentajeFacturacion, tipoCliente, formaDePago)).Aggregate((x, y) => x + y)); }
private void ActualizarTotalesVenta() { if (VentaItems.Count == 0) { CantidadTotal = 0; MontoTotal = new MontoProducto(0, 0); } else { CantidadTotal = VentaItems.Sum(x => x.Costo.Cantidad); MontoTotal = VentaItems.Select(x => x.Costo.MontoProducto).Aggregate((x, y) => x + y); } }
internal async Task GuardarAsyn() { CobroForm cobroForm = new CobroForm(Total); if (cobroForm.ShowDialog() == DialogResult.OK) { ModeloVenta.Pago pago = new ModeloVenta.Pago(cobroForm.FormaPago, Total, cobroForm.MontoPago, 0, 0); IList <ModeloVenta.VentaItem> ventaItems = VentaItems.Select(x => new ModeloVenta.VentaItem(x.Producto, x.Cantidad, x.Precio)).ToList(); ModeloVenta.Venta venta = new ModeloVenta.Venta(Sesion.Usuario.Alias, ventaItems, pago); venta.DisminuirStock(); await VentaService.Guardar(venta); Imprimir(venta); VueltoForm vueltoForm = new VueltoForm(pago.Vuelto); vueltoForm.ShowDialog(); VentaItems.Clear(); NotifyPropertyChanged(nameof(VentaItems)); } }