Ejemplo n.º 1
0
        public ActionResult All(FilterModel model)
        {
            var universitiesList =
                this.Cache.Get(
                    "Universities",
                    () => this.universities.AllWithCountry().ToList(),
                    30 * 60);

            var filteredUnis = this.universities
                .FilterUniversities(universitiesList.AsQueryable(), model)
                .To<UniversitySimpleViewModel>();

            var universitiesCount = filteredUnis.Count();

            var page = 1;
            var pageSize = 10;

            if (model != null)
            {
                page = model.Page < 1 ? 1 : model.Page;
                pageSize = model.PageSize < 1 ? 1 : model.PageSize;
            }

            var resultUniversitiesList =
                filteredUnis
                    .Skip((page - 1) * pageSize)
                    .Take(pageSize)
                    .ToList();

            var query = string.Empty;

            if (model != null)
            {
                query = "&Filter=" + model.Filter + "&OrderBy=" + model.OrderBy + "&Order=" + model.Order;
            }

            var viewDataModel = new UniversitiesListViewModel()
            {
                Universities = resultUniversitiesList,
                Filter = model,
                UniversitiesCount = universitiesCount,
                Query = query,
                Page = model.Page
            };

            return this.View(viewDataModel);
        }
Ejemplo n.º 2
0
        public ActionResult All(FilterModel model)
        {
            var studentId = this.User.Identity.GetUserId();

            var filteredUnis = this.universities
                .FilterUniversities(this.universities.AllForStudent(studentId), model)
                .To<UniversitySimpleViewModel>();

            var universitiesCount = filteredUnis.Count();

            var page = 1;
            var pageSize = 10;

            if (model != null)
            {
                page = model.Page < 1 ? 1 : model.Page;
                pageSize = model.PageSize < 1 ? 1 : model.PageSize;
            }

            var resultUniversitiesList =
                filteredUnis
                    .Skip((page - 1) * pageSize)
                    .Take(pageSize)
                    .ToList();

            var query = string.Empty;

            if (model != null)
            {
                query = "&Filter=" + model.Filter + "&OrderBy=" + model.OrderBy + "&Order=" + model.Order;
            }

            var viewDataModel = new UniversitiesListViewModel()
            {
                Universities = resultUniversitiesList,
                Filter = model,
                UniversitiesCount = universitiesCount,
                Query = query,
                Page = model.Page
            };

            return this.View(viewDataModel);
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> Index(UniversitiesListViewModel model)
        {
            await model.InitAsync(_dbContext);

            return(View(model));
        }