public ActionResult EditCategory(string id)
        {
            MasterBudgetCategory mbc      = masterBudgetService.GetMasterBudgetCategoryById(id);
            MBCategoryModel      mbcModel = new MBCategoryModel();

            mbcModel.EntityMBCategory = mbc;
            mbcModel.Id          = mbc.Id;
            mbcModel.Number      = mbc.Number;
            mbcModel.Description = mbc.Description;
            @ViewBag.FormHeader  = Resources.Global_String_Category + ": " + mbc.Number;
            @ViewBag.ButtonText  = Resources.BudgetController_String_SaveCategory;
            return(View("CreateCategory", mbcModel));
        }
Exemple #2
0
 public List <ProjectBudget> GetBudgetLinesByMBCategory(MasterBudgetCategory mbc, ProjectDonor pd)
 {
     try
     {
         using (var context = new SCMSEntities())
         {
             var pbList = context.ProjectBudgets.IncludeGeneralLedger().Where(b => b.GeneralLedger.MasterBudgetCategoryId == mbc.Id && b.BudgetCategory.ProjectDonorId == pd.Id).ToList();
             pbList = SCMS.Utils.BudgetLineSorter.SortBudgetLine(pbList);
             return(pbList);
         }
     }
     catch (Exception ex)
     {
         return(new List <ProjectBudget>());
     }
 }
Exemple #3
0
        private List <Models.BudgetLine> PopulateMBCategoryBudgetLines(MasterBudgetCategory mbc, ProjectDonor pd, List <MasterBudgetCategory> mbcList)
        {
            List <Models.BudgetLine> blList = new List <Models.BudgetLine>();

            Models.BudgetLine    bl;
            List <ProjectBudget> budgetLines = budgetService.GetBudgetLinesByMBCategory(mbc, pd);

            foreach (ProjectBudget budgetLine in budgetLines)
            {
                bl = new Models.BudgetLine();
                bl.BudgetCategoryId   = mbc.Id.ToString();
                bl.EntityBudgetLine   = budgetLine;
                bl.GeneralLedgerCodes = new SelectList(mbcList, "Id", "DataText");
                bl.BudgetLineId       = budgetLine.Id;
                blList.Add(bl);
            }
            return(blList);
        }
Exemple #4
0
 public void UpdateMBCategory(MasterBudgetCategory mbc)
 {
     try
     {
         using (var context = new SCMSEntities())
         {
             var mbcat = context.MasterBudgetCategories.FirstOrDefault(m => m.Id == mbc.Id);
             if (mbcat != null)
             {
                 mbcat.Number      = mbc.Number;
                 mbcat.Description = mbc.Description;
                 context.SaveChanges();
             }
         }
     }
     catch (Exception ex)
     {
     }
 }
Exemple #5
0
 public void CreateMBCategory(MasterBudgetCategory mbc)
 {
     try
     {
         using (var context = new SCMSEntities())
         {
             var newMbc = new MasterBudgetCategory();
             newMbc.Id                 = Guid.NewGuid();
             newMbc.Number             = mbc.Number;
             newMbc.Description        = mbc.Description;
             newMbc.CountryProgrammeId = mbc.CountryProgrammeId;
             context.MasterBudgetCategories.Add(newMbc);
             context.SaveChanges();
         }
     }
     catch (Exception ex)
     {
     }
 }
Exemple #6
0
        private List <MasterBudgetProject> InitMasterBudgetProjects(MasterBudgetCategory mbc, List <ProjectDonor> pdList, Currency currency)
        {
            List <MasterBudgetProject> mbpList = new List <MasterBudgetProject>();
            MasterBudgetProject        mbp;

            try
            {
                using (var context = new SCMSEntities())
                {
                    foreach (ProjectDonor pd in pdList)
                    {
                        var projectBudgets = context.ProjectBudgets.Where(pb => pb.GeneralLedger.MasterBudgetCategoryId == mbc.Id && pb.BudgetCategory.ProjectDonorId == pd.Id).ToList <ProjectBudget>();
                        if (projectBudgets != null && projectBudgets.Count > 0)
                        {
                            mbp = new MasterBudgetProject();
                            mbp.EntityProjectDonor = pd;
                            mbp.TotalBudget        = (decimal)exchangeRateService.GetForeignCurrencyValue(currency, pd.Currency, projectBudgets[0].TotalBudget, pd.Project.CountryProgrammeId);
                            mbp.TotalCommitted     = exchangeRateService.GetForeignCurrencyValue(currency, pd.Currency, projectBudgets[0].TotalCommitted, pd.Project.CountryProgrammeId);
                            mbp.TotalPosted        = exchangeRateService.GetForeignCurrencyValue(currency, pd.Currency, projectBudgets[0].TotalPosted, pd.Project.CountryProgrammeId);
                            for (int i = 1; i < projectBudgets.Count; i++)
                            {
                                mbp.TotalBudget    += (decimal)exchangeRateService.GetForeignCurrencyValue(currency, pd.Currency, projectBudgets[i].TotalBudget, pd.Project.CountryProgrammeId);
                                mbp.TotalCommitted += exchangeRateService.GetForeignCurrencyValue(currency, pd.Currency, projectBudgets[i].TotalCommitted, pd.Project.CountryProgrammeId);
                                mbp.TotalPosted    += exchangeRateService.GetForeignCurrencyValue(currency, pd.Currency, projectBudgets[i].TotalPosted, pd.Project.CountryProgrammeId);
                            }
                            mbp.RemainingBalance = mbp.TotalBudget - mbp.TotalCommitted - mbp.TotalPosted;
                            mbp.PercentageSpent  = (float?)(mbp.TotalPosted / mbp.TotalBudget) * 100;
                            mbpList.Add(mbp);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
            }
            return(mbpList);
        }
        public ActionResult SaveCategory(MBCategoryModel mbc)
        {
            MasterBudgetCategory mbCat       = new MasterBudgetCategory();
            MasterBudgetCategory existingMBC = masterBudgetService.GetMasterBudgetCategoryByNumber(mbc.Number, countryProg);

            if (mbc.Id.Equals(Guid.Empty))
            {
                if (existingMBC == null)
                {
                    mbCat.CountryProgrammeId = countryProg.Id;
                    mbCat.Number             = mbc.Number;
                    mbCat.Description        = mbc.Description;
                    masterBudgetService.CreateMBCategory(mbCat);
                }
                else
                {
                    ViewBag.ActionStatus = 0;
                    ViewBag.StatusMsg    = string.Format(Resources.BudgetController_String_CategoryExists, mbc.Number);
                }
            }
            else
            {
                mbCat             = masterBudgetService.GetMasterBudgetCategoryById(mbc.Id.ToString());
                mbCat.Number      = mbc.Number;
                mbCat.Description = mbc.Description;
                if (existingMBC == null || (existingMBC != null && existingMBC.Id == mbCat.Id))
                {
                    masterBudgetService.UpdateMBCategory(mbCat);
                }
                else
                {
                    ViewBag.ActionStatus = 0;
                    ViewBag.StatusMsg    = string.Format(Resources.BudgetController_String_CategoryExists, mbCat.Number);
                }
            }
            return(MBCategories());
        }