public async Task GetFilterData() { using (HttpClient hc = new HttpClient()) { try { var request = new HttpRequestMessage(HttpMethod.Post, Config.FILTER_LIST_API); var client = new HttpClient(); var content1 = new StringContent(string.Empty, Encoding.UTF8, "application/json"); var response = await client.PostAsync(Config.FILTER_LIST_API, content1); var content = await response.Content.ReadAsStringAsync(); if (response.StatusCode == System.Net.HttpStatusCode.OK && !string.IsNullOrEmpty(content)) { DealsFilterByItems.Clear(); StagesList = JsonConvert.DeserializeObject <List <Stage> >(content); var statusList = this.StagesList.Select(w => w.stagelabel_10); StatusPickerList = new ObservableCollection <string>(statusList.Distinct().ToList()); if (StatusPickerList != null && StatusPickerList.Count > 0) { foreach (var item in StatusPickerList) { DealsFilterByItems.Add(new DealsSortByModel { name = item, Radiobtnimg = Constants.CheckboxUnselectImg }); } } } } catch (Exception ex) { Debug.WriteLine(ex.Message); } } }
//public void GetFilterByData() //{ // DealsFilterByItems.Clear(); // //DealList = new ObservableCollection<DealsMainModel>(AllDealListItems); // var statusList = this.StagesList.Select(w => w.stagelabel_10); // StatusPickerList = new ObservableCollection<string>(statusList.Distinct().ToList()); // if (StatusPickerList != null && StatusPickerList.Count > 0) // { // foreach (var item in StatusPickerList) // { // DealsFilterByItems.Add(new DealsSortByModel { name = item, Radiobtnimg = Constants.CheckboxUnselectImg }); // } // } //} private async void ApplayFilterCommandExcecute() { try { FilteredList.Clear(); IsLoadingInfiniteEnabled = true; var IsAnyItemSelected = DealsFilterByItems.Where(x => x.Radiobtnimg == Constants.CheckboxImg).ToList(); if (IsAnyItemSelected.Count > 0 && IsAnyItemSelected != null) { ObservableCollection <DealsMainModel> filterData = new ObservableCollection <DealsMainModel>(); foreach (var item in IsAnyItemSelected) { var data = this.AllDealListItems.Where(w => (w.status.Equals(item.name))).ToList(); filterData = new ObservableCollection <DealsMainModel>(data); foreach (var item1 in filterData) { FilteredList.Add(item1); } filterData.Clear(); } if (FilteredList.Count > 0) { await ClosePopup(); IsListDataAvailable = true; IsDataNotAvailable = false; IsFilterOn = true; DealList.Clear(); DealList = new ObservableCollection <DealsMainModel>(FilteredList.ToList()); var firstMessage = DealList.FirstOrDefault(); MessagingCenter.Send <object, DealsMainModel>(this, "DealsFilterApplied", firstMessage); } else { await ClosePopup(); IsListDataAvailable = false; IsDataNotAvailable = true; IsFilterOn = true; DealList = new ObservableCollection <DealsMainModel>(FilteredList.ToList()); } } else { //If no filter option is selcted clear the filter % await ClosePopup(); if (AllDealListItems.Count > 0) { IsListDataAvailable = false; IsDataNotAvailable = false; IsFilterOn = false; DealList = new ObservableCollection <DealsMainModel>(AllDealListItems); } //await ShowAlert("Alert", "Please select filter option"); } //string status = StatusPicked; //if (!string.IsNullOrEmpty(status)) //{ // var data = this.DealList.Where(w => (w.status.Equals(StatusPicked))).ToList(); // FilteredList = new ObservableCollection<DealsMainModel>(data); // if (FilteredList.Count > 0) // { // IsListDataAvailable = true; // IsDataNotAvailable = false; // DealList.Clear(); // DealList = new ObservableCollection<DealsMainModel>(FilteredList.ToList()); // } // else // { // IsListDataAvailable = false; // IsDataNotAvailable = true; // DealList = new ObservableCollection<DealsMainModel>(AllItems); // } //} //else //{ // await ShowAlert("Alert", "Please select filter option"); //} } catch (Exception ex) { await ClosePopup(); Console.Write(ex.Message); ShowExceptionAlert(ex); } }