Пример #1
0
        public static IQueryable <Models.ParagliderModel> FilterParagliderModelBy(this IQueryable <Models.ParagliderModel> paraglidermodels, PargliderModelFilters filterBy, int pilotweight)
        {
            switch (filterBy)
            {
            case PargliderModelFilters.NoFilter:
                return(paraglidermodels);

            case PargliderModelFilters.Heavyweight:
                return(paraglidermodels
                       .Where(p => p.MaxWeightPilot <= 250 && p.MaxWeightPilot >= 100));


            case PargliderModelFilters.Thinweight:
                return(paraglidermodels
                       .Where(p => p.MinWeightPilot >= 0 && p.MinWeightPilot < 79));

            case PargliderModelFilters.Pilotweight:
                return(paraglidermodels
                       .Where(p => p.MinWeightPilot <= pilotweight && p.MaxWeightPilot >= pilotweight));

            default:
                throw new ArgumentOutOfRangeException
                          (nameof(filterBy), filterBy, null);
            }
        }
Пример #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));
        }