Example #1
0
        // GET: Countries
        public async Task <IActionResult> Index(CountryIndexViewModel viewModel)
        {
            DbSet <Country> countries = _context.Countries;

            viewModel.CountriesGrouping = countries.Where(objCountry =>
                                                          (viewModel.CommonReligionFilter == null || objCountry.CommonReligion == viewModel.CommonReligionFilter) &&
                                                          (viewModel.ContinentFilter == null || objCountry.Continent == viewModel.ContinentFilter) &&
                                                          (viewModel.JewsAttitudeFilter == null || objCountry.AttitudeForJews <= viewModel.JewsAttitudeFilter)).Include(x => x.Cities)
                                          .GroupBy(x => x.Continent);
            viewModel.Continents = Enum.GetValues(typeof(Continent));

            if (Request.Headers["X-Requested-With"] == "XMLHttpRequest")
            {
                return(PartialView("_FilteredCountries", viewModel));
            }

            viewModel.TopCountries = countries.Take(5).ToList().OrderBy(x =>
            {
                if (x.Cities == null)
                {
                    return(0);
                }
                else
                {
                    return(x.Cities.Count);
                }
            }).Take(5).ToList();

            viewModel.JesAttitudes = Enum.GetValues(typeof(JewsAttitude));

            viewModel.CommonReligions = Enum.GetValues(typeof(CommonReligion));


            return(View(viewModel));
        }
Example #2
0
        public async Task <IActionResult> Index(string successMessage = null, string failureMessage = null)
        {
            var lDtos = await this._referenceServices.GetCountries();

            var lModel = new CountryIndexViewModel()
            {
                SuccessMessage = successMessage,
                FailureMessage = failureMessage,
                Countries      = lDtos.Select(itm => Mapping.Mapper.Map <CountryViewModel>(itm)).ToList(),
            };

            return(View(lModel));
        }
Example #3
0
        public CountryIndexViewModel Countries(int page, int itemsOnPage, CountrySearchViewModel search)
        {
            int pageNumber = page - 1;

            var query = _countryRepository.GetAllCountries();

            if (!string.IsNullOrEmpty(search.Name))
            {
                query = query.Where(q => q.Name.Contains(search.Name));
            }

            if (!string.IsNullOrEmpty(search.Priority))
            {
                int priority;
                int.TryParse(search.Priority, out priority);
                query = query.Where(q => q.Priority == priority);
            }

            var model = new CountryIndexViewModel();

            model.Countries = query
                              .OrderBy(c => c.Id)
                              .Skip(itemsOnPage * pageNumber)
                              .Take(itemsOnPage)
                              .Select(c => new CountryItemViewModel
            {
                Id         = c.Id,
                Name       = c.Name,
                DateCreate = c.DateCreate,
                Priority   = c.Priority
            });

            int count = _countryRepository.countCountries();

            model.TotalPages  = (int)Math.Ceiling((double)count / itemsOnPage);
            model.CurrentPage = page;
            model.itemsOnPage = itemsOnPage;
            model.Search      = search;

            return(model);
        }