public ActionResult AppDropDowns()
        {
            ViewData["EventType"]           = appddservice.GetEventTypeList();
            ViewData["OrgLegalStatus"]      = appddservice.GetLegalStatusList();
            ViewData["GrantType"]           = appddservice.GetGrantTypeList();
            ViewData["ProgramArea"]         = appddservice.GetProgramAreaList();
            ViewData["CompetitionCode"]     = appddservice.GetCompetitionCodeList();
            ViewData["ProposalStatus"]      = appddservice.GetProposalStatusList();
            ViewData["SSPRoles"]            = staffservice.GetALLSSPRoles();
            ViewData["Regions"]             = appddservice.GetRegionList();
            ViewData["GetBudgetCatList"]    = appddservice.GetCatList();
            ViewData["ProjectLocationList"] = appddservice.GetProjectLocationList();

            return(View());
        }
        public ActionResult Index(FinReportFilter frepf, int?ID, List <String> Area, List <String> gtype, List <String> compete,
                                  List <String> status, List <String> period, List <String> amount, List <String> oblast, List <String> lfIndicators)
        {
            AppDropDownsService ServiceDDL = new AppDropDownsService();

            ViewData["CompletionCode"]  = ServiceDDL.GetCompetitionCodeList();
            ViewData["ProgramArea"]     = ServiceDDL.GetProgramAreaList();
            ViewData["GrantType"]       = ServiceDDL.GetGrantTypeList();
            ViewData["Status"]          = ServiceDDL.GetProposalStatusList();
            ViewData["Region"]          = ServiceDDL.GetRegionList();
            ViewData["BudgetCatList"]   = ServiceDDL.GetCatList();
            ViewData["LfIndicatorList"] = ServiceDDL.GetLfIndicatorList();

            LReportsRepository   rep = new LReportsRepository();
            IQueryable <Project> prj = rep.GetResults3(frepf, ID, Area, gtype, compete, status, period, oblast, amount, lfIndicators); //1. gets resulting project list after filtering.


            List <Project> prjList = prj.ToList();

            ViewData["prj"] = prj;



            if (prjList != null)
            {
                var query = prjList
                            .GroupBy(g => new //GROUP BY GrantType, ProgramArea Field1, Field2 and SUM AmtRequested.
                {
                    g.LFIndicator.LFIndicatorID,
                })
                            .Select(group => new VsContainer() //Select all Grouped into VersusContainer.
                {
                    ProjId      = group.Select(i => i.ProjectID).ToList(),
                    Field1      = group.Key.LFIndicatorID,
                    iAmount     = prjList.Count(),
                    dAmount     = group.Select(i => i.ProjectID).Count(),
                    Field1Title = "# of grants with " + group.Select(i => i.LFIndicator.LFIndicatorList.CodeText).FirstOrDefault()
                });

                List <VsContainer> vsc = query.ToList();   //test.
                ViewData["vsc"] = vsc;
            }


            //add List Filters.  //enable Report View enabled if not null.
            if (lfIndicators != null)
            {
                frepf.isLFIndicator = true;
            }
            if (Area != null)
            {
                frepf.IsArea = true;
            }
            if (gtype != null)
            {
                frepf.IsGrantType = true;
            }
            if (compete != null)
            {
                frepf.IsCompetitionCode = true;
            }
            if (status != null)
            {
                frepf.IsStatus = true;
            }
            if (period != null)
            {
                frepf.IsPeriod = true;
            }
            if (oblast != null)
            {
                frepf.isRegion = true;
            }
            //=====

            return(View(frepf));
        }
        public ActionResult SiteVisitReport(FinReportFilter frepf, int?ID, List <String> Area, List <String> gtype, List <String> compete,
                                            List <String> status, List <String> period, List <String> amount, List <String> oblast)
        {
            AppDropDownsService ServiceDDL = new AppDropDownsService();

            ViewData["CompletionCode"] = ServiceDDL.GetCompetitionCodeList();
            ViewData["ProgramArea"]    = ServiceDDL.GetProgramAreaList();
            ViewData["GrantType"]      = ServiceDDL.GetGrantTypeList();
            ViewData["Status"]         = ServiceDDL.GetProposalStatusList();
            ViewData["Region"]         = ServiceDDL.GetRegionList();
            ViewData["BudgetCatList"]  = ServiceDDL.GetCatList();


            LReportsRepository   rep = new LReportsRepository();
            IQueryable <Project> prj = rep.GetResults3(frepf, ID, Area, gtype, compete, status, period, oblast, amount); //1. gets resulting project list after filtering.


            List <Project> prjList = prj.ToList();

            ViewData["prj"] = prj;



            if (prjList != null)
            {
                //2. generates/calculates VS amounts.
                //Dictionary<ContainerType, Dictionary<int, List<FinCatReport>>> results = FinReportCore(prj, frepf, Area, gtype, compete, status, period, oblast);
                //Dictionary<ContainerType, List<FinCatReport>> results = FinReportCore(prj, frepf, Area, gtype, compete, status, period, oblast);

                //ViewData["results2"] = results;
                var MView2 = SiteVisitReports(prjList);
                ViewData["MView2"] = MView2;
            }

            //add List Filters.  //enable Report View enabled if not null.
            if (Area != null)
            {
                frepf.IsArea = true;
            }
            if (gtype != null)
            {
                frepf.IsGrantType = true;
            }
            if (compete != null)
            {
                frepf.IsCompetitionCode = true;
            }
            if (status != null)
            {
                frepf.IsStatus = true;
            }
            if (period != null)
            {
                frepf.IsPeriod = true;
            }
            if (oblast != null)
            {
                frepf.isRegion = true;
            }
            //=====

            return(View(frepf));
        }