// GET: BankAccounts/Details/5
        public async Task <IActionResult> Details(int?id, BankAccountDetailsTab tab = BankAccountDetailsTab.AccountOperations)
        {
            if (id == null)
            {
                return(HttpNotFound());
            }

            var         userId      = User.GetUserId();
            BankAccount bankAccount = await _context.BankAccounts
                                      .Include(a => a.Operations)
                                      .SingleAsync(m => m.Id == id && m.UserId == userId);

            if (bankAccount == null)
            {
                return(HttpNotFound());
            }

            var statements = tab == BankAccountDetailsTab.UploadedStatements
                ? await _context.AccountStatements.Where(s => s.BankAccountId == bankAccount.Id).ToArrayAsync()
                : null;

            var viewModel = new BankAccountDetailsViewModel(bankAccount, tab, statements);

            return(View(viewModel));
        }
        // GET: BankAccounts/Details/5
        public async Task<IActionResult> Details(int? id, BankAccountDetailsTab tab = BankAccountDetailsTab.AccountOperations)
        {
            if (id == null)
            {
                return HttpNotFound();
            }

            var userId = User.GetUserId();
            BankAccount bankAccount = await _context.BankAccounts
                .Include(a => a.Operations)
                .SingleAsync(m => m.Id == id && m.UserId == userId);
            if (bankAccount == null)
            {
                return HttpNotFound();
            }

            var statements = tab == BankAccountDetailsTab.UploadedStatements
                ? await _context.AccountStatements.Where(s => s.BankAccountId == bankAccount.Id).ToArrayAsync()
                : null;

            var viewModel = new BankAccountDetailsViewModel(bankAccount, tab, statements);

            return View(viewModel);
        }
 public BankAccountDetailsViewModel(BankAccount account, BankAccountDetailsTab activeTab, AccountStatement[] statements = null)
 {
     Account    = account;
     ActiveTab  = activeTab;
     Statements = statements;
 }
 public BankAccountDetailsViewModel(BankAccount account, BankAccountDetailsTab activeTab, AccountStatement[] statements = null)
 {
     Account = account;
     ActiveTab = activeTab;
     Statements = statements;
 }