public ArmsBudget UpdateBudget(ArmsBudget budget) { _context.ArmsBudget.Update(budget); _context.Attach(budget); _context.Entry(budget).State = EntityState.Modified; _context.SaveChanges(); return(budget); }
public async Task <ArmsBudget> AddArmsBudgetAsync(ArmsBudget armsBudget, int amount, int budgetCatgeoryId, Guid projId) { using (IDbContextTransaction transaction = _context.Database.BeginTransaction()) { try { List <ArmsBudgetInventory> armsBudgetInventories = new List <ArmsBudgetInventory>(); ArmsBudgetCategory armsBudgetCatgeory = new ArmsBudgetCategory { ProjId = projId, BudgetAmt = amount, BudgetCatId = budgetCatgeoryId, BcAltId = 0, EntryDt = armsBudget.EntryDt, UserId = armsBudget.UserId }; //insert into budget category only if absent var budgetCategoryForProjectExists = _context.ArmsBudgetCategory.Find(budgetCatgeoryId, projId); if (budgetCategoryForProjectExists == null) { var budgetCategroy = await _context.ArmsBudgetCategory.AddAsync(armsBudgetCatgeory); _context.SaveChanges(); armsBudget.BcAltId = budgetCategroy.Entity.BcAltId; } else { armsBudget.BcAltId = budgetCategoryForProjectExists.BcAltId; } armsBudget.ActiveInd = "A"; await _context.ArmsBudget.AddAsync(armsBudget); _context.Attach(armsBudget); _context.Entry(armsBudget).State = Microsoft.EntityFrameworkCore.EntityState.Added; _context.SaveChanges(); transaction.Commit(); return(armsBudget); } catch (Exception ex) { transaction.Rollback(); throw ex; } } }