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(); } }
public bool EgresoStockArticulo(Egreso_Stock articuloEgresoStock) { try { _context.Egreso_Stocks.InsertOnSubmit(articuloEgresoStock); _context.SubmitChanges(); return(true); } catch (Exception) { return(false); } }
//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); } }