private static SearchFilterGroup AddSpecialtiesFilterGroup(GetSpecialtiesResponse specialtiesResponse)
        {
            var filterGroup = new SearchFilterGroup() { Name = SpecialtiesFilterGroup };
            var itemsPerColumn = GetItemsPerColumn(specialtiesResponse.Specialties.Count());

            for (int i = 0; i < MaxColumnCount; i++)
            {
                var skip = itemsPerColumn * i;

                foreach (var item in specialtiesResponse.Specialties.Skip(skip).Take(itemsPerColumn))
                {
                    switch (i)
                    {
                        case 0:
                            filterGroup.FiltersColumn1.Add(new SearchFilter() { Name = item.SpecialtyName, Id = item.SpecialtyId });
                            break;
                        case 1:
                            filterGroup.FiltersColumn2.Add(new SearchFilter() { Name = item.SpecialtyName, Id = item.SpecialtyId });
                            break;
                        case 2:
                            filterGroup.FiltersColumn3.Add(new SearchFilter() { Name = item.SpecialtyName, Id = item.SpecialtyId });
                            break;
                        case 3:
                            filterGroup.FiltersColumn4.Add(new SearchFilter() { Name = item.SpecialtyName, Id = item.SpecialtyId });
                            break;
                    }
                }
            }
            return filterGroup;
        }
        private IEnumerable<int> GetSelectedIds(SearchFilterGroup filters)
        {
            var ids = new List<int>();

            foreach (var specialty in filters.FiltersColumn1.Where(f => f.Selected))
                ids.Add(int.Parse(specialty.Id.ToString()));

            foreach (var specialty in filters.FiltersColumn2.Where(f => f.Selected))
                ids.Add(int.Parse(specialty.Id.ToString()));

            foreach (var specialty in filters.FiltersColumn3.Where(f => f.Selected))
                ids.Add(int.Parse(specialty.Id.ToString()));

            foreach (var specialty in filters.FiltersColumn4.Where(f => f.Selected))
                ids.Add(int.Parse(specialty.Id.ToString()));

            return ids;
        }
        private static SearchFilterGroup AddOrgUnitFilterGroup(GetOrgUnitsResponse locationsResponse)
        {
            var filterGroup = new SearchFilterGroup() { Name = LocationsFilterGroup };
            var itemsPerColumn = GetItemsPerColumn(locationsResponse.OrgUnits.Count());

            for (int i = 0; i < MaxColumnCount; i++)
            {
                var skip = itemsPerColumn * i;

                foreach (var item in locationsResponse.OrgUnits.Skip(skip).Take(itemsPerColumn))
                {
                    switch (i)
                    {
                        case 0:
                            filterGroup.FiltersColumn1.Add(new SearchFilter() { Name = item.OrgUnitName, Id = item.OrgUnitId });
                            break;
                        case 1:
                            filterGroup.FiltersColumn2.Add(new SearchFilter() { Name = item.OrgUnitName, Id = item.OrgUnitId });
                            break;
                        case 2:
                            filterGroup.FiltersColumn3.Add(new SearchFilter() { Name = item.OrgUnitName, Id = item.OrgUnitId });
                            break;
                        case 3:
                            filterGroup.FiltersColumn4.Add(new SearchFilter() { Name = item.OrgUnitName, Id = item.OrgUnitId });
                            break;
                    }
                }
            }
            return filterGroup;
        }