public async Task <IViewComponentResult> InvokeAsync() { notifications.SortFunction = x => x.ValidFrom; notifications.SortOrder = SortOrder.Descending; var loggedInUser = await userManager.GetUserAsync(HttpContext.User); if (loggedInUser == null) { return(View()); } var bankAccounts = await accounts.LoadAccountsForUser(loggedInUser.Id); var bankAccountsViewsList = new AccountsViewsList(bankAccounts); List <string> bankAccountIds = new List <string>(); foreach (var account in bankAccountsViewsList) { bankAccountIds.Add(account.ID); } var notificationsList = await notifications.LoadNotificationsForAllUsers(bankAccountIds); var notificationsViewsList = new NotificationViewsList(notificationsList); foreach (var notification in notificationsViewsList) { await loadSenderAndReceiver(notification); if (notification.IsSeen == false) { NotSeenCount++; } } return(View(notificationsViewsList)); }
public async Task <IActionResult> Index(string sortOrder = null, string currentFilter = null, string searchString = null, int?page = null) { ViewData["CurrentSort"] = sortOrder; ViewData["SortValidFrom"] = string.IsNullOrEmpty(sortOrder) ? "validFrom_desc" : ""; ViewData["SortSenderAccount"] = sortOrder == "senderAccount" ? "senderAccount_desc" : "senderAccount"; ViewData["SortMessage"] = sortOrder == "message" ? "message_desc" : "message"; notifications.SortOrder = sortOrder != null && sortOrder.EndsWith("_desc") ? SortOrder.Descending : SortOrder.Ascending; notifications.SortFunction = getSortFunction(sortOrder); if (searchString != null) { page = 1; } else { searchString = currentFilter; } ViewData["CurrentFilter"] = searchString; notifications.SearchString = searchString; notifications.PageIndex = page ?? 1; var loggedInUser = await userManager.GetUserAsync(HttpContext.User); if (loggedInUser == null) { return(View()); } var notificationsList = await loadNotifications(loggedInUser); var notificationsViewsList = new NotificationViewsList(notificationsList); foreach (var notification in notificationsViewsList) { await loadSender(notification); } return(View(notificationsViewsList)); }