public void Actualizar(Modelo.Producto producto) { foreach (Modelo.Precio precio in producto.Precios) { _context.Entry(precio).State = EntityState.Modified; } _context.Producto.Attach(producto); _context.Entry(producto.Proveedor).State = EntityState.Unchanged; _context.Entry(producto.Categoria).State = EntityState.Unchanged; _context.Entry(producto.Subcategoria).State = EntityState.Unchanged; _context.Entry(producto).State = EntityState.Modified; _context.SaveChanges(); }
public void Guardar(Modelo.Producto producto) { using (var dbContextTransaction = _context.Database.BeginTransaction()) { if (_context.Producto.Any(x => x.Codigo.ToUpper() == producto.Codigo.ToUpper())) { throw new NegocioException($"El código de producto {producto.Codigo} ya está en uso. Por favor, ingrese otro código de producto."); } _context.Entry(producto.Proveedor).State = EntityState.Unchanged; _context.Entry(producto.Categoria).State = EntityState.Unchanged; _context.Entry(producto.Subcategoria).State = EntityState.Unchanged; _context.Producto.Add(producto); _context.SaveChanges(); producto.CargarCodigoBarras(producto.Id); _context.SaveChanges(); dbContextTransaction.Commit(); } }