public static SaferMatrixMap GetSaferMatrix(SearchCorporateER search) { int limit = 8; var mockSurveyList = GetSaferMatrixData(search); if (mockSurveyList.Count < 1) { return(null); } var saferMatrixMap = new SaferMatrixMap(); using (var dbmDbEntityContainer = new DBMEdition01_Entities()) { foreach (var safer in dbmDbEntityContainer.GetSafterMap()) { var shortList = mockSurveyList.Where(item => item.CorporateFinalScoreID == safer.ScoreID).DistinctBy(x => new { x.SiteID, x.StandardLabel }); shortList = GroupBySite(shortList); var shortListCount = shortList.Count(); var fullEP = ReturnCorpFindings(safer, shortList.Take(limit)); if (shortListCount > limit) { fullEP = string.Format("{0}+({1}) more EP(s)", fullEP, (shortList.Count() - limit).ToString()); } AssignEPValue(saferMatrixMap, fullEP, safer.ScoreID); } } return(saferMatrixMap); }
private static void AssignEPValue(SaferMatrixMap saferMatrixMap, string fullEP, int scoreID) { switch (scoreID) { case 1000: saferMatrixMap.ImmediateThreat = fullEP; break; case 1321: saferMatrixMap.HighLimited = fullEP; break; case 1322: saferMatrixMap.HighPattern = fullEP; break; case 1323: saferMatrixMap.HighWidespread = fullEP; break; case 1221: saferMatrixMap.ModerateLimited = fullEP; break; case 1222: saferMatrixMap.ModeratePattern = fullEP; break; case 1223: saferMatrixMap.ModerateWidespread = fullEP; break; case 1121: saferMatrixMap.LowLimited = fullEP; break; case 1122: saferMatrixMap.LowPattern = fullEP; break; case 1123: saferMatrixMap.LowWidespread = fullEP; break; default: break; } }