public async Task <IActionResult> ReceivedIndex(string id, string sortOrder = null, string currentFilter = null, string searchString = null, int?page = null) { var loggedInUser = await userManager.GetUserAsync(HttpContext.User); var accIds = new List <string>(); var accs = await accounts.LoadAccountsForUser(loggedInUser.Id); foreach (var acc in accs) { accIds.Add(acc.Data.ID); } ViewBag.Accounts = accIds; if (id == null) { id = accIds.FirstOrDefault() ?? "Unspecified"; return(RedirectToActionPermanent("ReceivedIndex", new { id })); } paginate(id, sortOrder, currentFilter, searchString, page); var bankAccount = await accounts.GetObject(id); ViewBag.BankAccountID = bankAccount.Data.ID; var l = await requests.LoadReceivedRequestsForAccount(id); var viewList = new RequestTransactionViewsList(l); await loadSenderAndReceiver(viewList); return(View(viewList)); }
private async Task loadSenderAndReceiver(RequestTransactionViewsList viewList) { foreach (var request in viewList) { request.SenderAccount = AccountViewFactory.Create(await accounts.GetObject(request.SenderAccountId)); request.SenderAccount.AspNetUser = await userManager.FindByIdAsync(request.SenderAccount.AspNetUserId); request.ReceiverAccount = AccountViewFactory.Create(await accounts.GetObject(request.ReceiverAccountId)); request.ReceiverAccount.AspNetUser = await userManager.FindByIdAsync(request.ReceiverAccount.AspNetUserId); } }