internal async Task ModificarAsync(VentaListadoItem ventaListadoItem) { ModeloVenta.Venta venta = await VentaService.Obtener(ventaListadoItem.Venta.Id); VentaDetalleForm ventaDetalleForm = new VentaDetalleForm(venta); ventaDetalleForm.ShowDialog(); await BuscarAsync(); }
private void Imprimir(ModeloVenta.Venta venta) { string[] cabeceras = Settings.Default.ComprobanteCompraCabecera.Split(new string[] { "\\n" }, StringSplitOptions.None); string[] pie = Settings.Default.ComprobanteCompraPie.Split(new string[] { "\\n" }, StringSplitOptions.None); Ticket ticket = new Ticket(Settings.Default.NombreFantasia, Settings.Default.Direccion, Settings.Default.ComprobanteCompraSeparador, cabeceras, pie, venta); Impresora impresora = new Impresora(Settings.Default.ImpresoraNombre, ticket); impresora.Imprimir(); }
public VentaDetalleViewModel(Modelo.Venta venta) { Venta = venta; FechaAlta = venta.FechaAlta; UsuarioAlta = venta.UsuarioAlta; FormaPago = venta.Pago.FormaPago.ToString(); MontoPago = venta.Pago.MontoPago; venta.VentaItems.ToList().ForEach(x => VentaItems.Add(new VentaItem(x.Producto, x.Cantidad, x.Precio))); MotivoAnulacion = venta.MotivoAnulada; FechaAnulacion = venta.FechaAnulada; UsuarioAnulacion = venta.UsuarioAnulada; }
public static Task Guardar(Model.Venta venta) { VentaValidador validador = new VentaValidador(); ValidationResult validadorResultado = validador.Validate(venta); if (!validadorResultado.IsValid) { throw new NegocioException(string.Join(Environment.NewLine, validadorResultado.Errors.Select(x => x.ErrorMessage))); } VentaRepository ventaRepository = new VentaRepository(new Context()); return(ventaRepository.Guardar(venta)); }
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 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)); } }
public Ticket(string NombreFantasia, string Direccion, string Separador, string[] Cabecera, string[] Pie, Modelo.Venta Venta) { Texto nombreFantasia = new Texto(NombreFantasia, StringAlignment.Center); AgregarLinea(Cabecera1, nombreFantasia); Texto direccion = new Texto(Direccion, StringAlignment.Center); AgregarLinea(Cabecera2, direccion); AgregarLineaSeparador(cuerpo1, Separador); foreach (string cabecera in Cabecera) { Texto texto = new Texto(cabecera, StringAlignment.Center); AgregarLinea(Cabecera2, texto); } Texto fecha = new Texto($"Fecha:{Venta.FechaAlta.ToString("dd/MM/yyyy")}", StringAlignment.Near, 0.5f); Texto hora = new Texto($"Hora:{Venta.FechaAlta.ToString("HH:mm:ss")}", StringAlignment.Far, 0.5f); AgregarLinea(cuerpo1, fecha, hora); AgregarLineaSeparador(cuerpo1, Separador); AgregarLineaBlanco(cuerpo1); foreach (Modelo.VentaItem VentaItem in Venta.VentaItems) { Texto detalle = new Texto($"{VentaItem.Cantidad} Uni. X {VentaItem.Producto.Precio.ToString("c2")}", StringAlignment.Near); AgregarLinea(cuerpo1, detalle); Texto descripcion = new Texto(VentaItem.Producto.Descripcion, StringAlignment.Near, 0.6f); Texto monto = new Texto(VentaItem.Total.ToString("c2"), StringAlignment.Far, StringAlignment.Far, 0.4f); AgregarLinea(cuerpo1Negrita, descripcion, monto); } AgregarLineaBlanco(cuerpo1); Texto total = new Texto("Total", StringAlignment.Near, 0.5f); Texto montoTotal = new Texto(Venta.VentaItems.Sum(x => x.Total).ToString("c2"), StringAlignment.Far, 0.5f); AgregarLinea(Cabecera2Negrita, total, montoTotal); AgregarLineaBlanco(cuerpo1); Texto pagoLeyenda = new Texto("Su Pago", StringAlignment.Near); AgregarLinea(cuerpo1, pagoLeyenda); Texto formaPago = new Texto(Venta.Pago.FormaPago.ToString(), StringAlignment.Near, 0.5f); Texto montoPago = new Texto(Venta.Pago.MontoPago.ToString("c2"), StringAlignment.Far, 0.5f); AgregarLinea(cuerpo1Negrita, formaPago, montoPago); AgregarLineaBlanco(cuerpo1); Texto vueltoLeyenda = new Texto("Su vuelto", StringAlignment.Near, 0.5f); Texto vuelto = new Texto(Venta.Pago.Vuelto.ToString("c2"), StringAlignment.Far, 0.5f); AgregarLinea(Cabecera2Negrita, vueltoLeyenda, vuelto); AgregarLineaBlanco(cuerpo1); foreach (string cabecera in Pie) { Texto texto = new Texto(cabecera, StringAlignment.Near); AgregarLinea(cuerpo1, texto); } }
public VentaDetalleForm(Modelo.Venta venta) { InitializeComponent(); ventaDetalleViewModel = new VentaDetalleViewModel(venta); }
public VentaListadoItem(Model.Venta venta) { Venta = venta; }