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();
            }
        }
Exemplo n.º 2
0
        // 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));
        }