Пример #1
0
        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));
        }
Пример #2
0
        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);
        }
Пример #3
0
        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));
        }
Пример #4
0
        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\">&nbsp;</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()));
        }