/// <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;
 }