///<summary>Returns a distinct list of valid ProcCodes for the given eBenefitCat.</summary> public static List <string> GetValidCodesForEbenCat(EbenefitCategory eBenefitCat) { //No need to check RemotingRole; no call to db. List <string> listValidStrings = new List <string>(); List <CovCat> listCovCats = CovCats.GetWhere(x => x.EbenefitCat == eBenefitCat, true); foreach (CovCat covCat in listCovCats) { CovSpan[] arrayCovSpans = CovSpans.GetForCat(covCat.CovCatNum); listValidStrings.AddRange( ProcedureCodes.GetWhere(x => CovSpans.IsCodeInSpans(x.ProcCode, arrayCovSpans), true).Select(x => x.ProcCode).ToList() ); } return(listValidStrings.Distinct().ToList()); }