コード例 #1
0
        private void ClickAgregar(object sender, EventArgs e)
        {
            try
            {
                if (DatosValidos(0))
                {
                    this.BloquearCombos(true);

                    int cantidad          = int.Parse(((TextBox)controles.Find(x => x.Name == "txtCantidad")).Text);;
                    int idArticulo        = int.Parse(((ComboBox)controles.Find(x => x.Name == "comboArticulo")).SelectedValue.ToString());
                    int idUbicacionOrigen = int.Parse(((ComboBox)controles.Find(x => x.Name == "comboUbicacionOrigen")).SelectedValue.ToString());

                    var articuloAgregado = envioDetalle.Find(x => x.Articulo.Id == idArticulo);
                    cantidad += articuloAgregado != null ? articuloAgregado.Cantidad : 0;

                    if (stockBLL.ValidarStock(idArticulo, idUbicacionOrigen, cantidad))
                    {
                        var detalle = new EnvioDetalle();
                        detalle.Cantidad       = cantidad;
                        detalle.Articulo       = articuloBLL.Obtener(idArticulo);
                        detalle.PrecioUnitario = articuloBLL.Obtener(idArticulo).PrecioUnitario;

                        if (articuloAgregado == null)
                        {
                            envioDetalle.Add(detalle);
                        }
                        else
                        {
                            articuloAgregado.Cantidad = cantidad;
                        }

                        ServicioConfiguracionDeControles.LimpiarControles(this.controles);
                        this.CargarGrilla();
                    }
                    else
                    {
                        MessageBox.Show("La prenda no se puede agregar porque la ubicacion origen "
                                        + "no cuenta con el stock suficiente. Revise el stock desde Administracion > Stock",
                                        "Información", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }