public ActionResult GenerateGLMB(Models.MasterBudgetHeader mbh) { Currency currency = currencyService.GetCurrency(new Guid(mbh.CurrencyId)); List <MBCategory> mbcList = masterBudgetService.GenerateGLMasterBudget(currency, countryProg); ViewBag.Currency = currency.ShortName; ViewBag.CurrencyId = currency.Id; ViewBag.CountryProgrammeId = countryProg.Id; ComputeGLTotals(mbcList); return(View("MasterBudgetGL", mbcList)); }
public MasterBudgetHeader MBHeader(ref string mb_currency) { Models.MasterBudgetHeader mbh = new Models.MasterBudgetHeader(); List <MBCategory> mbcList = mbService.GenerateMasterBudget(mbCurrency, countryProg); ComputeTotals(mbcList); mb_currency = mbCurrency.ShortName; ViewBag.CurrencyId = mbCurrency.Id; ViewBag.CountryProgrammeId = countryProg.Id; ViewBag.CPName = countryProg.ProgrammeName; mbh.MBCList = mbcList; return(mbh); }
public ActionResult GLMBHeader() { Models.MasterBudgetHeader mbh = new Models.MasterBudgetHeader(); List <Currency> currencies = projectService.GetCurrencies(countryProg.Id); List <MBCategory> mbcList = masterBudgetService.GenerateGLMasterBudget(mbCurrency, countryProg); ComputeGLTotals(mbcList); ViewBag.Currency = mbCurrency.ShortName; ViewBag.CurrencyId = mbCurrency.Id; ViewBag.CountryProgrammeId = countryProg.Id; ViewBag.CPName = countryProg.ProgrammeName; mbh.MBCList = mbcList; mbh.Currencies = new SelectList(currencies, "Id", "Name", mbCurrency.Id); return(View("GLMBHeader", mbh)); }
public ActionResult PrintMasterB() { if (!permissionService.Authorize(StandardPermissionProvider.MasterBudgetView)) { return(AccessDeniedView()); } Dictionary <String, String> data = new Dictionary <string, string>(); string mb_currency = ""; int pjCount = 0; Models.MasterBudgetHeader mb = MBHeader(ref mb_currency); data.Add("{CURRENCY}", mb_currency); data.Add("{TOTAL_BUDGET}", ND2S(mb.MBCList[mb.MBCList.Count - 1].TotalBudget)); data.Add("{TOTAL_COMMITTED}", ND2S(mb.MBCList[mb.MBCList.Count - 1].TotalCommitted)); data.Add("{TOTAL_POSTED}", ND2S(mb.MBCList[mb.MBCList.Count - 1].TotalPosted)); data.Add("{REMAINING_FUNDS}", ND2S(mb.MBCList[mb.MBCList.Count - 1].RemainingBalance)); data.Add("{%_ACTUAL_SPENT}", ND2S((decimal)mb.MBCList[mb.MBCList.Count - 1].PercentageSpent)); data.Add("{FUNDS_AVAILABLE}", ND2S(mb.MBCList[mb.MBCList.Count - 1].RemainingBalance)); data.Add("{EXPENDITURE_PROJECTION}", ND2S(mb.MBCList[mb.MBCList.Count - 1].CostProjection)); if (mb.MBCList[mb.MBCList.Count - 1].Surplus < 0) { data.Add("{SHORTFALL_SURPLUS}", "<font color=\"red\"><b>" + ND2S(mb.MBCList[mb.MBCList.Count - 1].Surplus) + "</b></font>"); } else { data.Add("{SHORTFALL_SURPLUS}", ND2S(mb.MBCList[mb.MBCList.Count - 1].Surplus)); } string DetailsHTML = ""; int x = 0; for (int j = 0; j < mb.MBCList.Count - 1; j++) { if (x >= 0) { x = x + 1; pjCount = mb.MBCList[j].Projects.Count; } DetailsHTML += "<tr><td rowspan=\"" + pjCount + "\" align=\"center\" valign=\"middle\" style=\"background-color: #FCD5B4;\"><b>"; DetailsHTML += mb.MBCList[j].EntityBudgetCategory.Description + "</b>"; DetailsHTML += "</td><td style=\"background-color: #FCD5B4;\">"; DetailsHTML += mb.MBCList[j].Projects[0].EntityProjectDonor.ProjectNumber; DetailsHTML += "</td><td style=\"background-color: #FCD5B4;\">"; DetailsHTML += mb.MBCList[j].Projects[0].EntityProjectDonor.Donor.ShortName; DetailsHTML += "</td><td align=\"right\" style=\"background-color: #DCE6F1;\">"; DetailsHTML += ND2S(mb.MBCList[j].Projects[0].TotalBudget); DetailsHTML += "</td><td align=\"right\" style=\"background-color: #DCE6F1;\">"; DetailsHTML += ND2S(mb.MBCList[j].Projects[0].TotalCommitted); DetailsHTML += "</td><td align=\"right\" style=\"background-color: #DCE6F1;\">"; DetailsHTML += ND2S(mb.MBCList[j].Projects[0].TotalPosted); DetailsHTML += "</td><td align=\"right\" style=\"background-color: #DCE6F1;\">"; DetailsHTML += ND2S(mb.MBCList[j].Projects[0].RemainingBalance); DetailsHTML += "</td><td align=\"right\" style=\"background-color: #DCE6F1;\">"; DetailsHTML += ND2S((decimal)mb.MBCList[j].Projects[0].PercentageSpent); DetailsHTML += "</td><td rowspan=\"" + pjCount + "\" align=\"center\" valign=\"middle\" style=\"background-color: #DCE6F1; border-bottom-style: none;\"><b>"; DetailsHTML += ND2S(mb.MBCList[j].RemainingBalance) + "</b>"; DetailsHTML += "</td><td rowspan=\"" + pjCount + "\" align=\"center\" valign=\"middle\" style=\"background-color: #C4D79B; border-bottom-style: none;\"><b>"; if (mb.MBCList[j].CostProjection > 0) { DetailsHTML += ND2S(mb.MBCList[j].CostProjection) + "</b>"; } DetailsHTML += "</td><td rowspan=\"" + pjCount + "\" align=\"center\" valign=\"middle\" style=\"background-color: #C4D79B; border-bottom-style: none;\">"; if (mb.MBCList[j].CostProjection > 0) { if (mb.MBCList[j].Surplus < 0) { DetailsHTML += "<font color=\"red\"><b>" + ND2S(mb.MBCList[j].Surplus) + "</b></font>"; } else { DetailsHTML += "<b>" + ND2S(mb.MBCList[j].Surplus) + "</b>"; } } DetailsHTML += "</td></tr>"; for (int i = 1; i < mb.MBCList[j].Projects.Count; i++) { DetailsHTML += "<tr><td style=\"background-color: #FCD5B4;\">"; DetailsHTML += mb.MBCList[j].Projects[i].EntityProjectDonor.ProjectNumber; DetailsHTML += "</td><td style=\"background-color: #FCD5B4;\">"; DetailsHTML += mb.MBCList[j].Projects[i].EntityProjectDonor.Donor.Name; DetailsHTML += "</td><td align=\"right\" style=\"background-color: #DCE6F1;\">"; DetailsHTML += ND2S(mb.MBCList[j].Projects[i].TotalBudget); DetailsHTML += "</td><td align=\"right\" style=\"background-color: #DCE6F1;\">"; DetailsHTML += ND2S(mb.MBCList[j].Projects[i].TotalCommitted); DetailsHTML += "</td><td align=\"right\" style=\"background-color: #DCE6F1;\">"; DetailsHTML += ND2S(mb.MBCList[j].Projects[i].TotalPosted); DetailsHTML += "</td><td align=\"right\" style=\"background-color: #DCE6F1;\">"; DetailsHTML += ND2S(mb.MBCList[j].Projects[i].RemainingBalance); DetailsHTML += "</td><td align=\"right\" style=\"background-color: #DCE6F1;\">"; DetailsHTML += ND2S((decimal)mb.MBCList[j].Projects[i].PercentageSpent); DetailsHTML += "</td></tr>"; } DetailsHTML += "<tr><td colspan=\"11\"> </td></tr>"; } data.Add("DETAIL", DetailsHTML); List <String> options = new List <string>(); options.Add(" --orientation Landscape "); //options.Add(" --copies 3 "); Byte[] output = WkHtml2Pdf.CreateReport(data, "master-budget.html", options); return(File(output, "application/pdf", "Project_Budget_" + DateTime.Now.FormatDDMMMYYYYHHmm())); }