private bool AgregarVentaItemSuelto(ModeloVenta.Producto producto) { ProductoSueltoForm productoSueltoForm = new ProductoSueltoForm(); if (productoSueltoForm.ShowDialog() == DialogResult.Cancel) { return(false); } decimal montoSuelto = productoSueltoForm.Monto; VentaItems.Add(new VentaItem(producto, 1, montoSuelto)); return(true); }
private bool AgregarVentaItem(ModeloVenta.Producto producto) { int cantidad = Cantidad > 0 ? Cantidad : 1; VentaItem ventaItems = VentaItems.FirstOrDefault(x => x.Codigo == producto.Codigo); if (ventaItems == null) { VentaItems.Add(new VentaItem(producto, cantidad, producto.Precio)); } else { ventaItems.Cantidad += cantidad; } return(true); }
internal async Task CargarProductoAsync(string productoDescripcion) { Modelo.Producto productoModel = await ProductoService.Obtener(productoDescripcion); if (ProductoSeleccionado != null && ProductoSeleccionado == productoModel) { Cantidad++; } else { ProductoSeleccionado = productoModel; Cantidad = 1; PrecioUnitario = productoModel.Precio; } NotifyPropertyChanged(nameof(Subtotal)); }
internal void PruebaTicket() { Modelo.Producto productoPrueba = new Modelo.Producto("0123456789", "Producto prueba ticket", false, 100, 1, true); List <Modelo.VentaItem> ventaItems = new List <Modelo.VentaItem>(); ventaItems.Add(new Modelo.VentaItem(productoPrueba, 1, 100)); ventaItems.Add(new Modelo.VentaItem(productoPrueba, 2, 100)); ventaItems.Add(new Modelo.VentaItem(productoPrueba, 3, 100)); ventaItems.Add(new Modelo.VentaItem(productoPrueba, 4, 100)); Modelo.Pago pago = new Modelo.Pago(FormaPago.Efectivo, 1000, 1200, 0, 0); Modelo.Venta venta = new Modelo.Venta("Prueba", ventaItems, pago); string[] cabeceras = CabeceraTicket.Split(new string[] { "\r\n" }, StringSplitOptions.None); string[] pie = PieTicket.Split(new string[] { "\r\n" }, StringSplitOptions.None); Ticket ticket = new Ticket(NombreSucursal, DireccionSucursal, SeparadorTicket, cabeceras, pie, venta); Impresora impresora = new Impresora(Settings.Default.ImpresoraNombre, ticket); impresora.Imprimir(); }
internal async Task AgregarAsync() { ModeloVenta.Producto producto = await BuscarProducto(); bool productoAgregado; if (producto.Suelto) { productoAgregado = AgregarVentaItemSuelto(producto); } else { productoAgregado = AgregarVentaItem(producto); } if (productoAgregado) { Inicializar(productoAgregado); } NotifyPropertyChanged(nameof(VentaItems)); }
private async Task <ModeloVenta.Producto> BuscarProducto() { if (string.IsNullOrWhiteSpace(CodigoDescripcion)) { throw new NegocioException(Resources.productoNoExiste); } VentaItem ventaItem = VentaItems.Where(x => x.Codigo == CodigoDescripcion || x.Descripcion == CodigoDescripcion).FirstOrDefault(); if (ventaItem != null) { return(ventaItem.Producto); } ModeloVenta.Producto producto = await ProductoService.Obtener(CodigoDescripcion); if (producto == null) { throw new NegocioException(Resources.productoNoExiste); } return(producto); }
public VentaItem(Modelo.Producto producto, int cantidad, decimal precio) { Producto = producto; Cantidad = cantidad; Precio = precio; }