private void BtnAgregar_KeyPress(object sender, KeyPressEventArgs e) { if (txtCodigo.Text != null && labels.Text != null && nudPrecioUnitario.Value != null && nudUnidades.Value >= 1) { if ((char)Keys.Enter == e.KeyChar) { var producto = _productoServicio.ObtenerPorCodigoKiosko(txtCodigo.Text); var nuevoDetalle = new DetalleComprobanteKioscoDto(); nuevoDetalle.CodigoProducto = producto.Codigo; nuevoDetalle.DescripcionProducto = producto.Descripcion; nuevoDetalle.Cantidad = nudUnidades.Value; nuevoDetalle.PrecioUnitario = nudPrecioUnitario.Value; //find busca el objeto de la lista var verificarSiExiste = _listaDetalles.Find( x => x.CodigoProducto == nuevoDetalle.CodigoProducto); if (verificarSiExiste != null) { _listaDetalles.FirstOrDefault(x => x.CodigoProducto == nuevoDetalle.CodigoProducto) .Cantidad += nuevoDetalle.Cantidad; } else { _listaDetalles.Add(nuevoDetalle); } // Currency Manager maneja el bindeo de datos // Data binding es un mecanismo mediante el cual podemos enlazar los elementos de la // interfaz de usuario con los objetos que contienen la información a mostrar. ... // WPF nos permite de manera sencilla realizar binding a una propiedad de un control // utilizando propiedades de otros controles, objetos, colecciones, etc. CurrencyManager cm = (CurrencyManager)this.dgvGrilla.BindingContext[_listaDetalles]; if (cm != null) { cm.Refresh(); } //calcular subtotal nudSubTotal.Value = _listaDetalles.Sum(x => x.SubTotalLinea); nudTotal.Value = nudSubTotal.Value - ((nudSubTotal.Value * nudDescuento.Value) / 100); btnCobrar.Enabled = true; } } else { MessageBox.Show("Error al agregar al Producto, Verifique los valores!.", "Atencion", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public void Cargar(DetalleComprobanteKioscoDto dto, long comprobanteId) { using (var context = new ModeloXCommerceContainer()) { var nuevoDetalle = new AccesoDatos.DetalleComprobante() { ComprobanteId = comprobanteId, Codigo = dto.CodigoProducto, Descripcion = dto.DescripcionProducto, PrecioUnitario = dto.PrecioUnitario, Cantidad = dto.Cantidad, SubTotal = dto.SubTotalLinea, ArticuloId = (int)dto.ProductoId }; context.DetalleComprobantes.Add(nuevoDetalle); context.SaveChanges(); } }
public void AgregarItem(DetalleComprobanteKioscoDto dto, ComprobanteKioskoDto comprobanteDto) { if (comprobanteDto.Items != null) { var item = comprobanteDto.Items .FirstOrDefault(x => x.CodigoProducto == dto.CodigoProducto); if (item == null) { comprobanteDto.Items.Add(dto); } else { item.Cantidad += dto.Cantidad; } } else { comprobanteDto.Items.Add(dto); } }