/// <summary> /// Adds the org unit conditions. /// </summary> /// <param name="objectSet">The object set.</param> /// <param name="filteringOrgUnitIds">The org unit ids.</param> /// <returns></returns> public static IQueryable<Provider> AddFilteringOrgUnitConditions(this IQueryable<Provider> objectSet, IEnumerable<string> filteringOrgUnitIds) { if (filteringOrgUnitIds != null) { IEnumerable<int> filteringOrgUnitIdsInt = filteringOrgUnitIds.ConvertToIntegers(); objectSet = objectSet.Where(p => filteringOrgUnitIdsInt.All(i => p.ProviderOrgUnits.Any(pl => pl.OrgUnitId == i))); } return objectSet; }
/// <summary> /// Adds the language conditions. /// </summary> /// <param name="objectSet">The object set.</param> /// <param name="languageIds">The language IDs.</param> /// <returns></returns> public static IQueryable<Provider> AddLanguageConditions(this IQueryable<Provider> objectSet, IEnumerable<string> languageIds) { if (languageIds != null) { IEnumerable<int> languageIdsInt = languageIds.ConvertToIntegers(); objectSet = objectSet.Where(p => languageIdsInt.All(i => p.ProviderLanguages.Any(pl => pl.Language.Id == i))); } return objectSet; }
/// <summary> /// Adds the specialty conditions. /// </summary> /// <param name="objectSet">The object set.</param> /// <param name="specialtyIds">The specialty ids.</param> /// <returns></returns> public static IQueryable<Provider> AddSpecialtyConditions(this IQueryable<Provider> objectSet, IEnumerable<string> specialtyIds) { if (specialtyIds != null) { IEnumerable<int> specialtyIdsInt = specialtyIds.ConvertToIntegers().ToArray(); if (specialtyIdsInt.Any()) { objectSet = objectSet.Where(p => specialtyIdsInt.All(i => p.ProviderSpecialties.Select(ps => ps.Specialty.Id).Contains(i))); } } return objectSet; }