public ActionResult CorporateReport_Data(SearchCorporateER search, int LevelIdentifier) { try { //Mock Survey Status Parameter. Corporate Reports displays data after Mock Survey Recommendations are approved. search.MockSurveyStatusID = (int)MockSurveyStatus.Publish_CCA_Recommendation; JsonResult jr = new JsonResult(); if (search.ProgramIDs == "-1") { search.ProgramIDs = null; } if (search.SelectedChapterIDs == "-1") { search.SelectedChapterIDs = null; } if (search.SelectedStandardIDs == "-1") { search.SelectedStandardIDs = null; } if (search.SelectedMockSurveyIDs == "-1") { search.SelectedMockSurveyIDs = null; } if (search.SelectedMockSurveyLeadIDs == "-1") { search.SelectedMockSurveyLeadIDs = null; } if (search.SelectedMockSurveyMemberIDs == "-1") { search.SelectedMockSurveyMemberIDs = null; } string JCREmailDomain = "@JCRINC.COM"; string JCREmailDomain2 = "@JCAHO.COM"; string encryptionKey = ConfigurationManager.AppSettings.Get("EncryptionKey"); switch (LevelIdentifier) { case (int)WebConstants.CorporateSummaryLevels.Level1_Program: { List <CorpProgramFinding> Level1Data = new List <CorpProgramFinding>(); Level1Data = CorporateFinding.GetCorpFindingByProgram(search); jr = Json(Level1Data, JsonRequestBehavior.AllowGet); break; } case (int)WebConstants.CorporateSummaryLevels.Level2_Chapter: { if (search.IsDuplicateLoadCall) { jr = TempData["ACS_Level2Data"] as JsonResult; } else { List <CorpChapterFinding> Level2Data = new List <CorpChapterFinding>(); Level2Data = CorporateFinding.GetCorpFindingByChapter(search); jr = Json(Level2Data, JsonRequestBehavior.AllowGet); TempData["ACS_Level2Data"] = jr; } break; } case (int)WebConstants.CorporateSummaryLevels.Level3_Standard: { if (search.IsDuplicateLoadCall) { jr = TempData["ACS_Level3Data"] as JsonResult; } else { List <CorpStandardFinding> Level3Data = new List <CorpStandardFinding>(); Level3Data = CorporateFinding.GetCorpFindingByStandard(search); var max = Convert.ToInt32(Level3Data.Max(r => r.CumulativePercentage)); Session["MaxStandardCount"] = max >= 100 ? 100 : max; jr = Json(Level3Data, JsonRequestBehavior.AllowGet); TempData["ACS_Level3Data"] = jr; } break; } case (int)WebConstants.CorporateSummaryLevels.Level4_EP: { string tjcFinding = string.Empty; List <CorpEPFinding> Level4Data = new List <CorpEPFinding>(); Level4Data = CorporateFinding.GetCorpFindingByEP(search); if (!AppSession.EmailAddress.ToUpper().Contains(JCREmailDomain) && !AppSession.EmailAddress.ToUpper().Contains(JCREmailDomain2)) { Level4Data.ToList().ForEach(data => { data.TJCFinding = CryptHelpers.RFIDecrypt(data.TJCFinding, encryptionKey); }); } else { Level4Data.ToList().ForEach(data => data.TJCFinding = string.Empty); } jr = Json(Level4Data, JsonRequestBehavior.AllowGet); break; } case (int)WebConstants.CorporateSummaryLevels.Level5_EPDetails: { List <CorpStandardFinding> Level5Data = new List <CorpStandardFinding>(); Level5Data = CorporateFinding.GetCorpFindingByStandard(search); jr = Json(Level5Data, JsonRequestBehavior.AllowGet); break; } } jr.MaxJsonLength = Int32.MaxValue; jr.RecursionLimit = 100; return(jr); } catch (Exception ex) { ExceptionLog exceptionLog = new ExceptionLog { ExceptionText = "Reports: " + ex.Message, PageName = "CorporatePriorityFinding", MethodName = "AMPCorporateSummaryCorporateReport_Data", UserID = Convert.ToInt32(AppSession.UserID), SiteId = Convert.ToInt32(AppSession.SelectedSiteId), TransSQL = "", HttpReferrer = null }; exceptionService.LogException(exceptionLog); return(RedirectToAction("Error", "Transfer")); } }