Exemple #1
0
 public ArmsBudget UpdateBudget(ArmsBudget budget)
 {
     _context.ArmsBudget.Update(budget);
     _context.Attach(budget);
     _context.Entry(budget).State = EntityState.Modified;
     _context.SaveChanges();
     return(budget);
 }
Exemple #2
0
        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;
                }
            }
        }