public async Task <IActionResult> All(int page = 1) { var guidesCount = await this.guidesService.GetAllCountAsync(); var pagesCount = (int)Math.Ceiling((double)guidesCount / GlobalConstants.ItemsPerPage); if (page > pagesCount) { page = pagesCount; } if (page <= 0) { page = 1; } var guides = await this.guidesService.GetAllAsync <GuideViewModel>(GlobalConstants.ItemsPerPage, (page - 1) *GlobalConstants.ItemsPerPage); var model = new AllGuidesViewModel() { Guides = guides, PagesCount = pagesCount, }; if (model.PagesCount == 0) { model.PagesCount = 1; } model.CurrentPage = page; return(this.View(model)); }
public async Task <IActionResult> BySearch(string search, int page = 1) { var guidesCount = await this.guidesService.GetCountBySearchAsync(search); var pagesCount = (int)Math.Ceiling((double)guidesCount / GlobalConstants.ItemsPerPage); if (page > pagesCount) { page = pagesCount; } if (page <= 0) { page = 1; } var guides = await this.searchBarService.SearchGuide <GuideViewModel>(search, GlobalConstants.ItemsPerPage, (page - 1) *GlobalConstants.ItemsPerPage); var model = new AllGuidesViewModel() { Guides = guides, PagesCount = pagesCount, }; if (model.PagesCount == 0) { model.PagesCount = 1; } model.CurrentPage = page; model.SearchWord = search; return(this.View(model)); }
public async Task <IActionResult> ByUser(string username, int page = 1) { var user = await this.userManager.Users.FirstOrDefaultAsync(x => x.UserName == username); if (user == null) { return(this.RedirectToAction("All")); } var userId = await this.userManager.GetUserIdAsync(user); var guidesCount = await this.guidesService.GetCountByUserAsync(userId); var pagesCount = (int)Math.Ceiling((double)guidesCount / GlobalConstants.ItemsPerPage); if (page > pagesCount) { page = pagesCount; } if (page <= 0) { page = 1; } var guides = await this.guidesService .GetByUserAsync <GuideViewModel>(userId, GlobalConstants.ItemsPerPage, (page - 1) *GlobalConstants.ItemsPerPage); var result = new AllGuidesViewModel() { Guides = guides, PagesCount = (int)Math.Ceiling((double)guidesCount / GlobalConstants.ItemsPerPage), }; if (result.PagesCount == 0) { result.PagesCount = 1; } if (page > result.PagesCount) { page = result.PagesCount; } result.CurrentPage = page; return(this.View(result)); }
public async Task <IActionResult> ByCategory(string name, int page = 1) { if (!Enum.TryParse(typeof(CategoryOfGuide), name, out _)) { return(this.RedirectToAction("All")); } var enumResult = Enum.Parse <CategoryOfGuide>(name); var guidesCount = await this.guidesService.GetCountByCategoryAsync(enumResult); var pagesCount = (int)Math.Ceiling((double)guidesCount / GlobalConstants.ItemsPerPage); if (page > pagesCount) { page = pagesCount; } if (page <= 0) { page = 1; } var guides = await this.guidesService .GetByCategoryAsync <GuideViewModel>(enumResult, GlobalConstants.ItemsPerPage, (page - 1) *GlobalConstants.ItemsPerPage); var result = new AllGuidesViewModel { Guides = guides, PagesCount = (int)Math.Ceiling((double)guidesCount / GlobalConstants.ItemsPerPage), }; if (result.PagesCount == 0) { result.PagesCount = 1; } if (page > result.PagesCount) { page = result.PagesCount; } result.CurrentPage = page; return(this.View(result)); }
public async Task <IActionResult> MyGuides(int page = 1) { var user = await this.userManager.GetUserAsync(this.User); var userId = await this.userManager.GetUserIdAsync(user); var guidesCount = await this.guidesService.GetCountByUserAsync(userId); var pagesCount = (int)Math.Ceiling((double)guidesCount / GlobalConstants.ItemsPerPage); if (page > pagesCount) { page = pagesCount; } if (page <= 0) { page = 1; } var guides = await this.guidesService .GetByUserAsync <GuideViewModel>(userId, GlobalConstants.ItemsPerPage, (page - 1) *GlobalConstants.ItemsPerPage); var result = new AllGuidesViewModel() { Guides = guides, PagesCount = (int)Math.Ceiling((double)guidesCount / GlobalConstants.ItemsPerPage), }; if (result.PagesCount == 0) { result.PagesCount = 1; } if (page > result.PagesCount) { page = result.PagesCount; } result.CurrentPage = page; return(this.View(result)); }