Exemple #1
0
        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));
        }
Exemple #2
0
        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);
            }
        }