public void Guardar(Insumo insumo) { DbContext db = new DbContext(); try { if (insumo.IdInsumo <= 0) db.Insumo.AddObject(insumo); else { Insumo uInsumo = db.Insumo.SingleOrDefault(s => s.IdInsumo == insumo.IdInsumo); if (uInsumo != null) { uInsumo.IdNegocio = insumo.IdNegocio; uInsumo.IdUnidad = insumo.IdUnidad; uInsumo.Descripcion = insumo.Descripcion; uInsumo.StockMinimo = insumo.StockMinimo; uInsumo.StockMaximo = insumo.StockMaximo; foreach (InsumoPresentacion presentacion in uInsumo.InsumoPresentacion) { db.InsumoPresentacion.DeleteObject(presentacion); } uInsumo.InsumoPresentacion = insumo.InsumoPresentacion; } } db.SaveChanges(); } catch (Exception ex) { throw new Exception(ex.Message); } finally { db.Dispose(); } }
private void btnGuardar_Click(object sender, EventArgs e) { try { if (ValidaCaptura()) { if (_insumo == null) _insumo = new Insumo(); _insumo.IdNegocio = (int)cmbNegociosRegistro.SelectedValue; _insumo.Descripcion = txtDescripcion.Text.Trim(); _insumo.IdUnidad = (int)cmbUnidades.SelectedValue; _insumo.StockMinimo = Convert.ToDecimal(txtStockMinimo.Text); _insumo.StockMaximo = Convert.ToDecimal(txtStockMaximo.Text); _insumo.InsumoPresentacion = new List<InsumoPresentacion>(); foreach (DataGridViewRow presentacion in dgvInsumos.Rows) { _insumo.InsumoPresentacion.Add(new InsumoPresentacion { IdPresentacion = (int)presentacion.Cells[0].Value, RendimientoPromedio = (decimal)presentacion.Cells[2].Value }); } _nInsumos.Guardar(_insumo); LimpiaControles(); Mensajes.AlmacenExito(Text); } } catch (Exception ex) { Mensajes.Error(ex.Message, Text); } }