Exemplo n.º 1
0
        public MontoProducto ObtenerPendientePago()
        {
            if (EstaPaga)
            {
                return(new MontoProducto(0, 0));
            }

            return(VentaItems.Select(x => x.ObtenerPendientePago()).Aggregate((x, y) => x + y));
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
 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);
     }
 }
Exemplo n.º 4
0
        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));
            }
        }