public async Task <GeoEpithetsIndexPageViewModel> SelectAsync(int currentPage, int numberOfItemsPerPage) { if (currentPage < PagingConstants.MinimalPageNumber) { throw new InvalidPageNumberException(); } if (numberOfItemsPerPage < PagingConstants.MinimalItemsPerPage || numberOfItemsPerPage > PagingConstants.MaximalItemsPerPageAllowed) { throw new InvalidItemsPerPageException(); } long numberOfItems = await this.service.SelectCountAsync(null); var data = await this.service.SelectAsync(null, currentPage *numberOfItemsPerPage, numberOfItemsPerPage, nameof(IGeoName.Name), SortOrder.Ascending); var items = data.Select(this.mapper.Map <GeoEpithetViewModel>).ToArray(); var model = new ListWithPagingViewModel <GeoEpithetViewModel>(GeoEpithetsController.IndexActionName, numberOfItems, numberOfItemsPerPage, currentPage, items); var viewModel = new GeoEpithetsIndexPageViewModel { Model = model, PageTitle = Strings.IndexPageTitle }; return(viewModel); }
public async Task <ActionResult> Index(int?p, int?n) { int currentPage = p ?? PagingConstants.DefaultPageNumber; int numberOfItemsPerPage = n ?? PagingConstants.DefaultLargeNumberOfItemsPerPage; var userId = this.UserId; var articleId = this.FakeArticleId; var items = (await this.service.All(userId, articleId, currentPage, numberOfItemsPerPage)) .Select(d => new FileViewModel { ArticleId = articleId.ToString(), DocumentId = d.Id.ToString(), FileName = d.FileName, Comment = d.Comment, DateCreated = d.DateCreated, DateModified = d.DateModified }) .ToArray(); var numberOfDocuments = await this.service.Count(userId, articleId); var viewModel = new ListWithPagingViewModel <FileViewModel>(nameof(this.Index), numberOfDocuments, numberOfItemsPerPage, currentPage, items); this.Response.StatusCode = (int)HttpStatusCode.OK; return(this.View(viewModel)); }
public async Task <ActionResult> Index(int?p, int?n) { string returnUrl = this.Request[ContextKeys.ReturnUrl]; if (!string.IsNullOrWhiteSpace(returnUrl)) { return(this.Redirect(returnUrl)); } int currentPage = p ?? PagingConstants.DefaultPageNumber; int numberOfItemsPerPage = n ?? PagingConstants.DefaultLargeNumberOfItemsPerPage; long numberOfItems = await this.service.SelectCountAsync(null); var data = await this.service.SelectAsync(null, currentPage *numberOfItemsPerPage, numberOfItemsPerPage, nameof(IContinent.Name), SortOrder.Ascending); var items = data.Select(this.mapper.Map <ContinentViewModel>).ToArray(); var model = new ListWithPagingViewModel <ContinentViewModel>(IndexActionName, numberOfItems, numberOfItemsPerPage, currentPage, items); var viewModel = new ContinentsIndexPageViewModel { Model = model, PageTitle = Strings.IndexPageTitle }; this.ViewData[ContextKeys.AreaName] = AreaName; this.ViewData[ContextKeys.ControllerName] = ControllerName; this.ViewData[ContextKeys.ActionName] = IndexActionName; this.ViewData[ContextKeys.BackActionName] = IndexActionName; return(this.View(IndexActionName, viewModel)); }