private void AgregarArticulo() { var articulo = _articuloServicio.ObtenerProductoPorCodigo(txtCodigos.Text, _listaId); if (articulo != null) { if (articulo.PrecioCosto != null) { txtDescripcion.Text = articulo.Descripcion; txtPrecio.Text = articulo.Precio.ToString(); var _articulo = new DetalleComprobanteDto { ArticuloId = articulo.Id, CodigoProducto = articulo.CodigoBarra, Descripcion = articulo.Descripcion, Cantidad = nudCantidad.Value, PrecioUnitario = (decimal)articulo.PrecioCosto, }; if (!comprobante.Items.Any(x => x.Descripcion == _articulo.Descripcion && x.CodigoProducto == _articulo.CodigoProducto)) { comprobante.Items.Add(_articulo); } else { var articuloASumar = comprobante.Items .FirstOrDefault(x => x.ArticuloId == _articulo.ArticuloId); articuloASumar.Cantidad += _articulo.Cantidad; } ActualizarGrilla(); } else { MessageBox.Show($"No se pudo agregar el producto: '{articulo.Descripcion}' ya que carece de precio en este salon", "Atencion", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } else { var fBuscar = new _10111_BuscarArticulo(_listaId); fBuscar.ShowDialog(); if (fBuscar.RealizoOperacion) { txtDescripcion.Text = fBuscar.Descripcion; txtCodigos.Text = fBuscar.Codigo; txtPrecio.Text = fBuscar.Precio; } } }
private void AgregarArticulo() { var articulo = _articuloServicio.ObtenerProductoPorCodigo(txtCodigos.Text, (long)Entidad.ListaPrecioDeliveryId); if (articulo != null) { if (articulo.Precio != null) { if (!articulo.EstaDiscontinuado && !articulo.EstaEliminado) { if (!articulo.ActivarLimiteVenta || articulo.LimiteVenta >= nudCantidad.Value) { if (articulo.Stock >= nudCantidad.Value || articulo.PermiteStockNegativo || !articulo.DescuentaStock) { if (articulo.StockMinimo >= articulo.Stock && articulo.DescuentaStock) { MessageBox.Show($"Debe recargar el Stock de {articulo.Descripcion}!", $"Recarga de Stock de {articulo.Descripcion}", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else { txtDescripcion.Text = articulo.Descripcion; txtPrecio.Text = articulo.Precio.ToString(); var _articulo = new DetalleComprobanteDto { ArticuloId = articulo.Id, CodigoProducto = articulo.CodigoBarra, Descripcion = articulo.Descripcion, Cantidad = nudCantidad.Value, PrecioUnitario = (decimal)articulo.Precio }; if (!comprobante.Items.Any(x => x.Descripcion == _articulo.Descripcion && x.CodigoProducto == _articulo.CodigoProducto)) { comprobante.Items.Add(_articulo); } else { var articuloASumar = comprobante.Items .FirstOrDefault(x => x.CodigoProducto == _articulo.CodigoProducto); if (articuloASumar.Cantidad + _articulo.Cantidad <= articulo.Stock) { articuloASumar.Cantidad += _articulo.Cantidad; } else { MessageBox.Show($"Su stock es de {articulo.Stock - articuloASumar.Cantidad}, no puede agregar {nudCantidad.Value} productos"); } } ActualizarGrilla(); } } else { MessageBox.Show(@"No se pudo realizar la operacion por falta de Stock", "Atencion", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } else { MessageBox.Show(@"No se pudo realizar la operacion por limite de venta", "Atencion", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } else { MessageBox.Show( @"No se pudo realizar la operacion el articulo esta eliminado/descontinuado", "Atencion", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } else { MessageBox.Show($"No se pudo agregar el producto: '{articulo.Descripcion}' ya que carece de precio en este salon", "Atencion", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } else { var fBuscar = new _10111_BuscarArticulo((long)Entidad.ListaPrecioDeliveryId); fBuscar.ShowDialog(); if (fBuscar.RealizoOperacion) { txtDescripcion.Text = fBuscar.Descripcion; txtCodigos.Text = fBuscar.Codigo; txtPrecio.Text = fBuscar.Precio; } } }