예제 #1
0
        private void btnAceptar_Click(object sender, EventArgs e)
        {
            if (String.IsNullOrEmpty(txtCantidad.Text))
            {
                errorProviderRequerido.SetError(txtCantidad, "Ingrese cantidad.");
                return;
            }

            var stockActual = Convert.ToDecimal(txtStockActual.Text);
            var stockEgreso = Convert.ToDecimal(txtCantidad.Text);

            if (stockActual < stockEgreso)
            {
                MessageBox.Show(Constants.ERROR_STOCK_INSUFICIENTE);
                return;
            }

            var egresoArticulo = new Egreso_Stock()
            {
                Cantidad    = stockEgreso,
                FechaEgreso = DateTime.Now,
                Motivo      = ddlMotivos.SelectedText,
                idArticulo  = IdArticulo
            };
            var articulo = new Articulo()
            {
                idArticulo = IdArticulo,
                Stock      = Convert.ToDecimal(txtStockActual.Text) - Convert.ToDecimal(txtCantidad.Text)
            };

            try
            {
                var resultadoArticuloGuardado = ArticulosController.ActualizarStockArticulo(articulo);
                var resultadoEgreso           = StockController.EgresoStockArticulo(egresoArticulo);

                if (resultadoArticuloGuardado && resultadoEgreso)
                {
                    MessageBox.Show(Constants.OK_EGRESO_STOCK);
                    DialogResult = DialogResult.OK;
                    Close();
                }
                else
                {
                    MessageBox.Show(Constants.ERROR_EGRESO_STOCK);
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Ocurrio un error al guardar el egreso de stock, verifique los datos");
                this.Close();
            }
        }
예제 #2
0
 public bool EgresoStockArticulo(Egreso_Stock articuloEgresoStock)
 {
     try
     {
         _context.Egreso_Stocks.InsertOnSubmit(articuloEgresoStock);
         _context.SubmitChanges();
         return(true);
     }
     catch (Exception)
     {
         return(false);
     }
 }
예제 #3
0
 //TODO: Fijarse de cambiar esta logica, en el STOCK controller hay para guardar un egreso. Y en este controller
 //TODO: tambien hay un ActualizarStock().
 public bool ReducirStock(int idArticulo, decimal cantidad)
 {
     try
     {
         var articulo = _context.Articulos.Where(art => art.idArticulo == idArticulo).Single();
         articulo.Stock -= cantidad;
         var egreso = new Egreso_Stock();
         egreso.idArticulo  = articulo.idArticulo;
         egreso.FechaEgreso = DateTime.Now;
         egreso.Cantidad    = cantidad;
         egreso.Motivo      = "Remito";
         _context.Egreso_Stocks.InsertOnSubmit(egreso);
         _context.SubmitChanges();
         return(true);
     }
     catch (Exception)
     {
         return(false);
     }
 }