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)); }
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>()); } }
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); }
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) { } }
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) { } }
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()); }