public async Task <IActionResult> Index(int page = 1) { int take = 15; int skip = take * (page - 1); var mailList = await _mailService.GetUserInboxPaginatedAsync(skip, take); PaginateViewModel paginateModel = new PaginateViewModel() { ItemCount = mailList.Count, CurrentPage = page, ItemsPerPage = take }; if (paginateModel.MaxPage > 0 && paginateModel.CurrentPage > paginateModel.MaxPage) { return(RedirectToRoute( new { page = paginateModel.LastPage ?? 1 })); } MailListViewModel viewModel = new MailListViewModel() { Mail = mailList.Data, PaginateModel = paginateModel }; return(View(viewModel)); }
public async Task <IActionResult> ViewAll(int page = 1) { const int take = 15; int skip = take * (page - 1); var mailList = await _mailService.GetAllPaginatedAsync(skip, take); var paginateModel = new PaginateViewModel { ItemCount = mailList.Count, CurrentPage = page, ItemsPerPage = take }; if (paginateModel.PastMaxPage) { return(RedirectToRoute( new { page = paginateModel.LastPage ?? 1 })); } var viewModel = new MailListViewModel { Mail = mailList.Data, PaginateModel = paginateModel, CanDelete = UserHasPermission(Permission.DeleteAnyMail) }; return(View(viewModel)); }
public MailListView(MailListViewModel viewModel) { InitializeComponent(); Loaded += (s, e) => { DataContext = viewModel; }; }
public async Task <IActionResult> Mail(int id, int page = 1) { try { int take = 15; int skip = take * (page - 1); var mail = await _mailService.GetUserPaginatedAsync(id, skip, take); PaginateViewModel paginateModel = new PaginateViewModel() { ItemCount = mail.Count, CurrentPage = page, ItemsPerPage = take }; if (paginateModel.MaxPage > 0 && paginateModel.CurrentPage > paginateModel.MaxPage) { return(RedirectToRoute( new { page = paginateModel.LastPage ?? 1 })); } var user = await _userService.GetDetails(id); SetPageTitle(user); MailListViewModel viewModel = new MailListViewModel() { Mails = mail.Data, PaginateModel = paginateModel, Id = id, HouseholdCount = await _userService.FamilyMemberCountAsync(user.HouseholdHeadUserId ?? id), HeadOfHouseholdId = user.HouseholdHeadUserId, HasAccount = !string.IsNullOrWhiteSpace(user.Username), CanRemoveMail = UserHasPermission(Permission.DeleteAnyMail), CanSendMail = UserHasPermission(Permission.MailParticipants) }; return(View(viewModel)); } catch (GraException gex) { ShowAlertWarning("Unable to view participant's mail: ", gex); return(RedirectToAction("Index")); } }