public static IQueryable <Models.ParagliderModel> ParagliderModelSearchBy(this IQueryable <Models.ParagliderModel> paragliderModels, ParagliderModelSearch searchBy, string pApprovalNumber = null, string pSize = null) { switch (searchBy) { case ParagliderModelSearch.None: return(paragliderModels); case ParagliderModelSearch.ApprovalNumber: return(paragliderModels.Where(pa => pa.ApprovalNumber.Contains(pApprovalNumber))); case ParagliderModelSearch.Size: return(paragliderModels.Where(s => s.Size.Contains(pSize))); default: throw new ArgumentOutOfRangeException(); } }
// GET: ModelParaglidings public async Task <IActionResult> Index(ParagliderModelsSorts pParagliderModelSort, PargliderModelFilters filter, string filterInfo, ParagliderModelSearch search, string searchInfo) { IEnumerable <ParagliderModelDto> listParagliderModels = null; string textToSort = ""; string textToSearch = ""; if (filter == PargliderModelFilters.Heavyweight) { textToSort = "Heavyweight"; } if (filter == PargliderModelFilters.Pilotweight) { textToSort = "Pilotweight"; } if (search == ParagliderModelSearch.ApprovalNumber) { textToSearch = "ApprovalNumber"; } if (search == ParagliderModelSearch.Size) { textToSearch = "Size"; } using (var httpClient = new HttpClient()) { string FulApiUrl = $"http://localhost:50106/api/v1/paragliderModels?SortBy={pParagliderModelSort}&FilterBy={filter}&{textToSort}={filterInfo}&SearchBy={search}&{textToSearch}={searchInfo}"; using (var response = await httpClient.GetAsync(FulApiUrl)) { if (response.StatusCode == HttpStatusCode.OK) { string apiResponse = await response.Content.ReadAsStringAsync(); listParagliderModels = JsonConvert.DeserializeObject <List <ParagliderModelDto> >(apiResponse); } else { listParagliderModels = Enumerable.Empty <ParagliderModelDto>(); } } } var paraglidermodelFilters = Enum.GetValues(typeof(PargliderModelFilters)) .Cast <PargliderModelFilters>() .Select(d => new SelectListItem { Text = d.ToString(), Value = ((int)d).ToString() }).ToList(); ViewData["paraglidermodelFilterItems"] = new SelectList(paraglidermodelFilters, "Value", "Text"); var paraglidermodelSearch = Enum.GetValues(typeof(ParagliderModelSearch)) .Cast <ParagliderModelSearch>() .Select(d => new SelectListItem { Text = d.ToString(), Value = ((int)d).ToString() }).ToList(); ViewData["paraglidermodelSearchItems"] = new SelectList(paraglidermodelSearch, "Value", "Text"); return(View(listParagliderModels)); }