Exemplo n.º 1
0
        private void ButtonDelete_Click(object sender, EventArgs e)
        {
            if (ListFilters.SelectedIndex == -1)
            {
                return;
            }
            string       tmp = "";
            DialogResult rslt;

            if (ListFilters.SelectedIndices.Count == 1)
            {
                tmp  = string.Format(Properties.Resources.ButtonDelete_ClickText1, "\r\n", ListFilters.SelectedItem.ToString());
                rslt = MessageBox.Show(tmp, Properties.Resources.ButtonDelete_ClickText2,
                                       MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
            }
            else
            {
                tmp  = string.Format(Properties.Resources.ButtonDelete_ClickText3, ListFilters.SelectedIndices.Count.ToString());
                rslt = MessageBox.Show(tmp, Properties.Resources.ButtonDelete_ClickText2,
                                       MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
            }
            if (rslt == DialogResult.Cancel)
            {
                return;
            }

            for (int idx = ListFilters.Items.Count - 1; idx >= 0; idx--)
            {
                if (ListFilters.GetSelected(idx))
                {
                    _sts.Tabs[ListTabs.SelectedItem.ToString()].RemoveFilter((FiltersClass)ListFilters.Items[idx]);
                    ListFilters.Items.RemoveAt(idx);
                }
            }
        }
Exemplo n.º 2
0
        private void ButtonCancel_ClickExtracted()
        {
            ListTabs.Enabled    = true;
            GroupTab.Enabled    = true;
            ListFilters.Enabled = true;
            ListFilters.Focus();
            if (ListFilters.SelectedIndex != -1)
            {
                ShowDetail();
            }

            EditFilterGroup.Enabled = false;
            ButtonNew.Enabled       = true;

            bool selected = ListFilters.SelectedIndex > -1;

            ButtonEdit.Enabled     = selected;
            ButtonDelete.Enabled   = selected;
            ButtonRuleUp.Enabled   = selected;
            ButtonRuleDown.Enabled = selected;
            ButtonRuleCopy.Enabled = selected;
            ButtonRuleMove.Enabled = selected;

            closeButton.Enabled = true;
            if (_isDirectAdd)
            {
                Close();
            }
        }
Exemplo n.º 3
0
        private void ButtonDelete_ClickExtracted()
        {
            if (ListFilters.SelectedIndex == -1)
            {
                return;
            }

            var tmp = ListFilters.SelectedIndices.Count == 1
                ? string.Format(R.ButtonDelete_ClickText1, Environment.NewLine, ListFilters.SelectedItem)
                : string.Format(R.ButtonDelete_ClickText3, ListFilters.SelectedIndices.Count);

            var rslt = MessageBox.Show(tmp, R.ButtonDelete_ClickText2, MessageBoxButtons.OKCancel, MessageBoxIcon.Question);

            if (rslt == DialogResult.Cancel)
            {
                return;
            }

            for (int idx = ListFilters.Items.Count - 1; idx >= 0; idx--)
            {
                if (ListFilters.GetSelected(idx))
                {
                    _sts.Tabs[ListTabs.SelectedItem.ToString()].RemoveFilter((FiltersClass)ListFilters.Items[idx]);
                    ListFilters.Items.RemoveAt(idx);
                }
            }
        }
        private async void OnIsMultilineChangedCommand()
        {
            try
            {
                IsMultiline = !IsMultiline;

                //Set search filter list
                if (IsMultiline)
                {
                    ListFilters = _defaultSearchFilterList.Where(f => f.filter_by_list.Equals("Y")).ToList();
                }
                else
                {
                    ListFilters = _defaultSearchFilterList;
                }

                //Set search filter
                Filter = ListFilters.FirstOrDefault(f => Settings.Filter.Equals(f.filter_name));
                if (Filter == null)
                {
                    Filter = ListFilters[0];
                    //Settings.Filter = string.Empty;
                }
                //Set search operator list
                OnFilterListChangedCommand();
            }
            catch (Exception ex)
            {
                await _pageDialogService.DisplayAlertAsync("Error", ex.Message, "OK");
            }
        }
Exemplo n.º 5
0
 public void PrintWhereFilters(ListFilters filterList)
 {
     foreach (var auctionItem in auctionList)
     {
         if (filterList((AuctionItem)auctionItem))
         {
             Console.WriteLine(auctionItem);
         }
     }
 }
Exemplo n.º 6
0
        public void TestGetMeatEaters()
        {
            ListFilters   alterList  = new ListFilters();
            AnimalList    List       = new AnimalList();
            List <Animal> animalList = List.UnsortedAnimals;

            // get all carnivores from the animal list
            List <Animal> meatEaters = alterList.GetCarnivoreList(animalList);

            Assert.AreEqual(6, meatEaters.Count, "There are more or less animals in the meat eater list than there should be");
        }
Exemplo n.º 7
0
        private void ButtonRuleMove_Click(object sender, EventArgs e)
        {
            if (ListTabs.SelectedIndex > -1 && ListFilters.SelectedItem != null)
            {
                TabClass[] selectedTabs;
                using (var dialog = new TabsDialog(_sts))
                {
                    dialog.MultiSelect = true;
                    dialog.Text        = Properties.Resources.ButtonRuleMove_ClickText1;

                    if (dialog.ShowDialog(this) == DialogResult.Cancel)
                    {
                        return;
                    }

                    selectedTabs = dialog.SelectedTabs;
                }
                string tabname = ListTabs.SelectedItem.ToString();
                List <PostFilterRule> filters = new List <PostFilterRule>();

                foreach (int idx in ListFilters.SelectedIndices)
                {
                    filters.Add(_sts.Tabs[tabname].FilterArray[idx].Clone());
                }
                if (selectedTabs.Length == 1 && selectedTabs[0].TabName == tabname)
                {
                    return;
                }
                foreach (var tb in selectedTabs)
                {
                    if (tb.TabName == tabname)
                    {
                        continue;
                    }

                    foreach (PostFilterRule flt in filters)
                    {
                        if (!tb.FilterArray.Contains(flt))
                        {
                            tb.AddFilter(flt.Clone());
                        }
                    }
                }
                for (int idx = ListFilters.Items.Count - 1; idx >= 0; idx--)
                {
                    if (ListFilters.GetSelected(idx))
                    {
                        _sts.Tabs[ListTabs.SelectedItem.ToString()].RemoveFilter((PostFilterRule)ListFilters.Items[idx]);
                        ListFilters.Items.RemoveAt(idx);
                    }
                }
                SetFilters(tabname);
            }
        }
Exemplo n.º 8
0
        public void TestGetPlantEaters()
        {
            ListFilters   alterList  = new ListFilters();
            AnimalList    List       = new AnimalList();
            List <Animal> animalList = List.UnsortedAnimals;

            // get all omnivores from the animal list
            List <Animal> plantEaters = alterList.GetHerbivoreList(animalList);

            Assert.AreEqual(5, plantEaters.Count, "There are more or less animals in the plant eater list than there should be");
        }
Exemplo n.º 9
0
        private SideBarViewModel GetSideBarViewModel()
        {
            var sideBarViewModel = new SideBarViewModel
            {
                CourseType       = MapFilter("courseType", "Course type", ListFilters.GetCourseTypeList()),
                CourseHours      = MapFilter("courseHours", "Course hours", ListFilters.GetHoursList()),
                CourseStudyTime  = MapFilter("courseStudyTime", "Course study time", ListFilters.GetStudyTimeList()),
                StartDateOptions = ListFilters.GetStartDateList(),
                DistanceOptions  = ListFilters.GetDistanceList(),
            };

            return(sideBarViewModel);
        }
Exemplo n.º 10
0
        private void ButtonRuleMove_ClickExtracted()
        {
            if (ListTabs.SelectedIndex > -1 && ListFilters.SelectedItem != null)
            {
                _tabDialog.Text = R.ButtonRuleMove_ClickText1;
                if (_tabDialog.ShowDialog() == DialogResult.Cancel)
                {
                    return;
                }

                var tabname = ListTabs.SelectedItem.ToString();
                var tabs    = _tabDialog.SelectedTabNames;
                var filters = new List <FiltersClass>();

                foreach (int idx in ListFilters.SelectedIndices)
                {
                    filters.Add(_sts.Tabs[tabname].Filters[idx].CopyTo(new FiltersClass()));
                }

                if (tabs.Count == 1 && tabs[0] == tabname)
                {
                    return;
                }

                foreach (string tb in tabs)
                {
                    if (tb != tabname)
                    {
                        foreach (FiltersClass flt in filters)
                        {
                            if (!_sts.Tabs[tb].Filters.Contains(flt))
                            {
                                _sts.Tabs[tb].AddFilter(flt.CopyTo(new FiltersClass()));
                            }
                        }
                    }
                }

                // TODO: VB's for/next loop to C# for{}
                for (int idx = ListFilters.Items.Count - 1; idx >= 0; idx += -1)
                {
                    if (ListFilters.GetSelected(idx))
                    {
                        _sts.Tabs[ListTabs.SelectedItem.ToString()].RemoveFilter((FiltersClass)ListFilters.Items[idx]);
                        ListFilters.Items.RemoveAt(idx);
                    }
                }

                SetFilters(tabname);
            }
        }
Exemplo n.º 11
0
        public async Task <IActionResult> Body(string articleName)
        {
            logService.LogInformation($"{nameof(this.Body)} has been called");

            var model = new BodyViewModel {
                Content = new HtmlString("Find a course: Body element")
            };

            model.SideBar = GetSideBarViewModel();
            model.SideBar.OrderByOptions = ListFilters.GetOrderByOptions();

            logService.LogInformation($"{nameof(this.Body)} generated the model and ready to pass to the view");

            return(await SearchCourse(string.Empty).ConfigureAwait(true));
        }
Exemplo n.º 12
0
        private void ButtonRuleMove_Click(object sender, EventArgs e)
        {
            if (ListTabs.SelectedIndex > -1 && ListFilters.SelectedItem != null)
            {
                tabdialog.Text = Properties.Resources.ButtonRuleMove_ClickText1;
                if (tabdialog.ShowDialog() == DialogResult.Cancel)
                {
                    return;
                }
                string              tabname = ListTabs.SelectedItem.ToString();
                StringCollection    tabs    = tabdialog.SelectedTabNames;
                List <FiltersClass> filters = new List <FiltersClass>();

                foreach (int idx in ListFilters.SelectedIndices)
                {
                    filters.Add(_sts.Tabs[tabname].Filters[idx].CopyTo(new FiltersClass()));
                }
                if (tabs.Count == 1 && tabs[0] == tabname)
                {
                    return;
                }
                foreach (string tb in tabs)
                {
                    if (tb != tabname)
                    {
                        foreach (FiltersClass flt in filters)
                        {
                            if (!_sts.Tabs[tb].Filters.Contains(flt))
                            {
                                _sts.Tabs[tb].AddFilter(flt.CopyTo(new FiltersClass()));
                            }
                        }
                    }
                }
                for (int idx = ListFilters.Items.Count - 1; idx >= 0; idx--)
                {
                    if (ListFilters.GetSelected(idx))
                    {
                        _sts.Tabs[ListTabs.SelectedItem.ToString()].RemoveFilter((FiltersClass)ListFilters.Items[idx]);
                        ListFilters.Items.RemoveAt(idx);
                    }
                }
                SetFilters(tabname);
            }
        }
Exemplo n.º 13
0
        public async Task <JsonResult> List(ListFilters filter = ListFilters.All)
        {
            IEnumerable <FormType> result = null;

            switch (UserAuthority)
            {
            case UserTypes.Normal:
                result = from t in Database.Forms
                         where t.Enable
                         orderby t.Order
                         select t;
                break;

            case UserTypes.Admin:
            case UserTypes.TopAdmin:
                result = from t in Database.Forms
                         where t.OwnerId == User.Id
                         orderby t.Order
                         select t;
                break;
            }
            switch (filter)
            {
            case ListFilters.Enable:
                result = result.Where(x => x.Enable);
                break;

            case ListFilters.Disable:
                result = result.Where(x => !x.Enable);
                break;
            }

            result = result.Where(x => {
                if (x.UserType == UserTypes.Null)
                {
                    return(true);
                }
                return(x.UserType == User.Type);
            });

            return(new ApiResult()
            {
                Result = result
            });
        }
Exemplo n.º 14
0
        private void ListFilters_DoubleClick(object sender, EventArgs e)
        {
            if (ListFilters.SelectedItem == null)
            {
                return;
            }

            if (ListFilters.IndexFromPoint(ListFilters.PointToClient(Control.MousePosition)) == ListBox.NoMatches)
            {
                return;
            }

            if (ListFilters.Items[ListFilters.IndexFromPoint(ListFilters.PointToClient(Control.MousePosition))] == null)
            {
                return;
            }
            ButtonEdit_Click(sender, e);
        }
Exemplo n.º 15
0
        private void ListFilters_DoubleClick(object sender, EventArgs e)
        {
            var idx = ListFilters.SelectedIndex;

            if (idx == -1)
            {
                return;
            }

            var midx = ListFilters.IndexFromPoint(ListFilters.PointToClient(Control.MousePosition));

            if (midx == ListBox.NoMatches || idx != midx)
            {
                return;
            }

            ButtonEdit_Click(sender, e);
        }
Exemplo n.º 16
0
        public static string FormatListResponse(IEnumerable <ParticipantsGroup> participants, ListFilters filters)
        {
            if (participants == null || participants.Count() == 0)
            {
                return("Пока пусто. Жду ваших плюсов!");
            }

            var output = "";

            var acceptedParticipants = participants.Where(x => x.State == ParticipantState.Accepted).ToList();
            var notSuredParticipants = participants.Where(x => x.State == ParticipantState.NotSured).ToList();
            var declinedParticipants = participants.Where(x => x.State == ParticipantState.Declined).ToList();

            var outFilters = ListFilters.Accepted | ListFilters.NotSured;

            if (!filters.Equals(ListFilters.None))
            {
                outFilters = filters;
            }

            if (outFilters.HasFlag(ListFilters.Accepted) && acceptedParticipants.Count > 0)
            {
                if (notSuredParticipants.Count > 0)
                {
                    output += $"Пойдут:\r\n";
                }

                output += OutputParticipantsGroups(acceptedParticipants);
            }

            if (outFilters.HasFlag(ListFilters.NotSured) && notSuredParticipants.Count > 0)
            {
                output += $"Под вопросом:\r\n";
                output += OutputParticipantsGroups(notSuredParticipants);
            }

            if (outFilters.HasFlag(ListFilters.Declined) && declinedParticipants.Count > 0)
            {
                output += $"Не пойдут:\r\n";
                output += OutputParticipantsGroups(declinedParticipants);
            }

            return(output);
        }
Exemplo n.º 17
0
        public GetListsResult GetLists(string apiKey, ListFilters filters, int?start, int?limit, string sort_field, string sort_dir)
        {
            GetListsResult result     = null;
            var            parameters = new Dictionary <string, object>();

            parameters.Add("apikey", apiKey);
            parameters.Add("filters", filters);
            if (start.HasValue)
            {
                parameters.Add("start", start.Value);
            }
            if (limit.HasValue)
            {
                parameters.Add("limit", limit.Value);
            }
            if (!string.IsNullOrEmpty(sort_field))
            {
                parameters.Add("sort_field", sort_field);
            }
            if (!string.IsNullOrEmpty(sort_dir))
            {
                parameters.Add("sort_dir", sort_dir);
            }

            RestResponse response = RestClient.Post("[VER]/lists/list.[FORMAT]", parameters.ToJSON());

            if (response.HasError)
            {
                if (response.HasData)
                {
                    ErrorResponseInfo e = response.Get <ErrorResponseInfo>();
                    throw new Exception(string.Format("{0} ({1}) {2}", e.name, e.code, e.error));
                }

                throw new Exception(response.Message);
            }

            if (response.HasData)
            {
                result = response.Get <GetListsResult>();
            }

            return(result);
        }
Exemplo n.º 18
0
        private void ListFilters_DoubleClick(object sender, EventArgs e)
        {
            if (ListFilters.SelectedItem == null)
            {
                return;
            }

            int clickedIndex = ListFilters.IndexFromPoint(ListFilters.PointToClient(MousePosition));

            if (clickedIndex == ListBox.NoMatches)
            {
                return;
            }

            if (ListFilters.Items[clickedIndex] == null)
            {
                return;
            }

            ButtonEdit_ClickExtracted();
        }
Exemplo n.º 19
0
        public async Task <IActionResult> SearchCourse(string searchTerm)
        {
            logService.LogInformation($"{nameof(this.SearchCourse)} has been called");

            var model = new BodyViewModel();
            var courseSearchFilters = new CourseSearchFilters
            {
                CourseType = new List <CourseType> {
                    CourseType.All
                },
                CourseHours = new List <CourseHours> {
                    CourseHours.All
                },
                StartDate       = StartDate.Anytime,
                CourseStudyTime = new List <Fac.AttendancePattern> {
                    Fac.AttendancePattern.Undefined
                },
                SearchTerm = string.IsNullOrEmpty(searchTerm) ? string.Empty : searchTerm,
            };

            model.SideBar = GetSideBarViewModel();
            model.SideBar.OrderByOptions    = ListFilters.GetOrderByOptions();
            model.CurrentSearchTerm         = searchTerm;
            model.SideBar.CurrentSearchTerm = searchTerm;
            model.RequestPage = 1;

            try
            {
                model.Results = await findACourseService.GetFilteredData(courseSearchFilters, CourseSearchOrderBy.StartDate, 1).ConfigureAwait(true);
            }
            catch (Exception ex)
            {
                logService.LogError($"{nameof(this.SearchCourse)} threw an exception" + ex.Message);
            }

            logService.LogInformation($"{nameof(this.SearchCourse)} generated the model and ready to pass to the view");

            return(Results(model));
        }
Exemplo n.º 20
0
        public void FilterMenu()
        {
            var manager = new AuctionManager();
            var filter  = new Filter();

            bool loop = true;

            while (loop)
            {
                Menu.FilterMenuGraphics();

                ConsoleKey input = Console.ReadKey(true).Key;

                switch (input)
                {
                case ConsoleKey.D1:
                    Console.Clear();
                    ListFilters IsExpensive = new ListFilters(Filter.IsExpensive);
                    manager.PrintWhereFilters(IsExpensive);
                    Console.ReadKey(true);
                    break;
                }
            }
        }
Exemplo n.º 21
0
 private void ButtonCancel_Click(object sender, EventArgs e)
 {
     ListTabs.Enabled    = true;
     GroupTab.Enabled    = true;
     ListFilters.Enabled = true;
     ListFilters.Focus();
     if (ListFilters.SelectedIndex != -1)
     {
         ShowDetail();
     }
     EditFilterGroup.Enabled = false;
     ButtonNew.Enabled       = true;
     if (ListFilters.SelectedIndex > -1)
     {
         ButtonEdit.Enabled     = true;
         ButtonDelete.Enabled   = true;
         ButtonRuleUp.Enabled   = true;
         ButtonRuleDown.Enabled = true;
         ButtonRuleCopy.Enabled = true;
         ButtonRuleMove.Enabled = true;
     }
     else
     {
         ButtonEdit.Enabled     = false;
         ButtonDelete.Enabled   = false;
         ButtonRuleUp.Enabled   = false;
         ButtonRuleDown.Enabled = false;
         ButtonRuleCopy.Enabled = false;
         ButtonRuleMove.Enabled = false;
     }
     ButtonClose.Enabled = true;
     if (_directAdd)
     {
         this.Close();
     }
 }
        public override async void OnNavigatedTo(INavigationParameters parameters)
        {
            try
            {
                //Load All Filters
                if (_defaultSearchFilterList == null)
                {
                    _defaultSearchFilterList = await _restClient.GetSearchFilterList();
                }
                //Load SearchFilters
                if (ListFilters == null && _defaultSearchFilterList != null)
                {
                    if (IsMultiline)
                    {
                        ListFilters = _defaultSearchFilterList.Where(f => f.filter_by_list.Equals("Y")).ToList();
                    }
                    else
                    {
                        ListFilters = _defaultSearchFilterList;
                    }
                }
                if (ListFilters != null && Filter == null)
                {
                    Filter = ListFilters.FirstOrDefault(f => Settings.Filter.Equals(f.filter_name));
                    if (Filter == null)
                    {
                        Settings.Filter = string.Empty;
                    }
                    else
                    {
                        var baseSearchOperatorList = new List <CodeValueLookup>()
                        {
                            new CodeValueLookup {
                                value_member = "equals", display_member = "Equals"
                            },
                            new CodeValueLookup {
                                value_member = "contains", display_member = "Contains"
                            },
                            new CodeValueLookup {
                                value_member = "startswith", display_member = "Starts with"
                            },
                            new CodeValueLookup {
                                value_member = "endswith", display_member = "Ends with"
                            },
                            new CodeValueLookup {
                                value_member = "lessthan", display_member = "Less than"
                            },
                            new CodeValueLookup {
                                value_member = "morethan", display_member = "More than"
                            }
                        };

                        if (!string.IsNullOrEmpty(Filter.filter_operators))
                        {
                            var tempOperators = Filter.filter_operators.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
                            SearchOperatorList = baseSearchOperatorList.Where(o => tempOperators.Contains(o.value_member)).ToList();
                            if (SearchOperatorList != null && SearchOperatorList.Count > 0)
                            {
                                SearchOperator = SearchOperatorList[0];
                            }
                        }
                        else
                        {
                            SearchOperatorList = baseSearchOperatorList;
                            SearchOperator     = SearchOperatorList[0];
                        }
                    }
                }

                //Load workgroups
                if (ListWorkgroup == null)
                {
                    ListWorkgroup = await _restClient.GetWorkGroups(Settings.UserCooperatorId);

                    Workgroup = ListWorkgroup.FirstOrDefault(g => g.group_name.Equals(Settings.WorkgroupName));
                }
                //Load Location 1
                if (ListLocation1 == null)
                {
                    ListLocation1 = await _restClient.GetAllLocation1List();

                    Location1 = Settings.Location1;
                }

                if (string.IsNullOrEmpty(SearchText))
                {
                    SearchText = Settings.SearchText;
                }
            }
            catch (Exception ex)
            {
                await _pageDialogService.DisplayAlertAsync("Error", ex.Message, "OK");
            }
        }
 public GetListsResult GetLists(ListFilters filters, int?start, int?limit, string sort_field, string sort_dir)
 {
     return(ListService.GetLists(ApiKey, filters, start, limit, sort_field, sort_dir));
 }
Exemplo n.º 24
0
        // POST: api/ListFilters
        public ListFilters Post([FromBody] ListFilters incoming)
        {
            using (var ctx = new Models.Ao3TrackEntities())
            {
                var changes = new Dictionary <string, long>();

                var existing = (from i in ctx.ListFilters where i.userid == User.id select i).ToDictionary(i => i.data);
                Models.ListFilter ls;
                if (existing.TryGetValue("", out ls))
                {
                    existing.Remove("");
                }
                else
                {
                    ls = ctx.ListFilters.Add(new Models.ListFilter {
                        userid = User.id, data = "", timestamp = 0
                    });
                }
                var latest = ls.timestamp;

                foreach (var item in existing)
                {
                    if (item.Value.timestamp > latest)
                    {
                        latest = item.Value.timestamp;
                    }

                    if (!incoming.filters.ContainsKey(item.Key))
                    {
                        if (item.Value.timestamp >= incoming.last_sync)
                        {
                            // Item was added and needs to be sent to client
                            changes.Add(item.Key, item.Value.timestamp);
                        }
                        else
                        {
                            // Client deleted item since we last sent it
                            ctx.ListFilters.Remove(item.Value);
                        }
                    }
                    else
                    {
                        incoming.filters.Remove(item.Key);
                    }
                }

                foreach (var item in incoming.filters)
                {
                    if (item.Value > latest)
                    {
                        latest = item.Value;
                    }

                    if (!existing.ContainsKey(item.Key))
                    {
                        if (item.Value >= ls.timestamp)
                        {
                            // Item is NEW!
                            ctx.ListFilters.Add(new Models.ListFilter
                            {
                                userid    = User.id,
                                data      = item.Key,
                                timestamp = item.Value
                            });
                        }
                        else
                        {
                            // Item was previously deleted and client needs to be notified
                            changes.Add(item.Key, -1);
                        }
                    }
                }

                ls.timestamp = latest + 1;

                ctx.SaveChanges();

                return(new ListFilters {
                    last_sync = ls.timestamp, filters = changes
                });
            }
        }
Exemplo n.º 25
0
        public IActionResult Results(BodyViewModel model)
        {
            logService.LogInformation($"{nameof(this.Results)} has been called");

            var sideBarViewModel = GetSideBarViewModel();

            foreach (var item in sideBarViewModel.DistanceOptions)
            {
                if (item.Value == model.SideBar.DistanceValue)
                {
                    item.Selected = true;
                    break;
                }
            }

            sideBarViewModel.DistanceValue        = model.SideBar.DistanceValue;
            sideBarViewModel.TownOrPostcode       = model.SideBar.TownOrPostcode;
            sideBarViewModel.StartDateValue       = model.SideBar.StartDateValue;
            sideBarViewModel.DistanceValue        = model.SelectedDistanceValue;
            sideBarViewModel.CurrentSearchTerm    = model.CurrentSearchTerm;
            sideBarViewModel.FiltersApplied       = model.SideBar.FiltersApplied;
            sideBarViewModel.SelectedOrderByValue = model.SideBar.SelectedOrderByValue;
            sideBarViewModel.D = model.SideBar.D;

            if (model.SideBar.CourseType != null && model.SideBar.CourseType.SelectedIds.Any())
            {
                model.SideBar.CourseType = CheckCheckboxState(model.SideBar.CourseType, sideBarViewModel.CourseType);
                sideBarViewModel.CourseType.SelectedIds = model.SideBar.CourseType.SelectedIds;
            }

            if (model.SideBar.CourseHours != null && model.SideBar.CourseHours.SelectedIds.Any())
            {
                model.SideBar.CourseHours = CheckCheckboxState(model.SideBar.CourseHours, sideBarViewModel.CourseHours);
                sideBarViewModel.CourseHours.SelectedIds = model.SideBar.CourseHours.SelectedIds;
            }

            if (model.SideBar.CourseStudyTime != null && model.SideBar.CourseStudyTime.SelectedIds.Any())
            {
                model.SideBar.CourseStudyTime = CheckCheckboxState(model.SideBar.CourseStudyTime, sideBarViewModel.CourseStudyTime);
                sideBarViewModel.CourseStudyTime.SelectedIds = model.SideBar.CourseStudyTime.SelectedIds;
            }

            if (model.Results?.Courses != null && model.Results.Courses.Any())
            {
                foreach (var item in model.Results.Courses)
                {
                    if (item.Description.Length > 220)
                    {
                        item.Description = item.Description.Substring(0, 200) + "...";
                    }
                }
            }

            var town            = model.SideBar.TownOrPostcode;
            var distance        = model.SideBar.DistanceValue;
            var courseType      = model.SideBar.CourseType != null && model.SideBar.CourseType.SelectedIds?.Count > 0 ? JsonConvert.SerializeObject(model.SideBar.CourseType.SelectedIds) : null;
            var courseHours     = model.SideBar.CourseHours != null && model.SideBar.CourseHours.SelectedIds?.Count > 0 ? JsonConvert.SerializeObject(model.SideBar.CourseHours.SelectedIds) : null;
            var courseStudyTime = model.SideBar.CourseStudyTime != null && model.SideBar.CourseStudyTime?.SelectedIds.Count > 0 ? JsonConvert.SerializeObject(model.SideBar.CourseStudyTime.SelectedIds) : null;
            var startDate       = model.SideBar.StartDateValue;
            var searchTerm      = sideBarViewModel.CurrentSearchTerm;
            var page            = model.RequestPage;
            var filtera         = model.SideBar.FiltersApplied;
            var orderByValue    = model.SideBar.SelectedOrderByValue;

            if (!model.IsTest)
            {
                TempData["params"] = $"{nameof(searchTerm)}={searchTerm}&" +
                                     $"{nameof(town)}={town}&" +
                                     $"{nameof(courseType)}={courseType}&" +
                                     $"{nameof(courseHours)}={courseHours}&" +
                                     $"{nameof(courseStudyTime)}={courseStudyTime}&" +
                                     $"{nameof(startDate)}={startDate}&" +
                                     $"{nameof(distance)}={distance}&" +
                                     $"{nameof(filtera)}={filtera}&" +
                                     $"{nameof(page)}={page}&" +
                                     $"{nameof(orderByValue)}={orderByValue}";
            }

            model.SideBar = sideBarViewModel;
            model.SideBar.OrderByOptions = ListFilters.GetOrderByOptions();

            logService.LogInformation($"{nameof(this.Results)} generated the model and ready to pass to the view");

            return(View("Body", model));
        }