示例#1
0
        public async Task <IActionResult> Index()
        {
            var accountsFirst = await _dbContext.Accounts.OrderBy(a => a.Id).FirstOrDefaultAsync();

            var accountsLast = await _dbContext.Accounts.OrderBy(a => a.Id).LastOrDefaultAsync();

            var accCount = await _dbContext.Accounts.CountAsync();

            var accountsHierarchiesFirst = await _dbContext.AccountHierarchies.OrderBy(a => a.Id).FirstOrDefaultAsync();

            var accountsHierarchiesLast = await _dbContext.AccountHierarchies.OrderBy(a => a.Id).LastOrDefaultAsync();

            var hierCount = await _dbContext.AccountHierarchies.CountAsync();

            var treeBuilder = new TreeBuilder(_dbContext);

            treeBuilder.CalculateBonuses(accountsHierarchiesFirst);

            return(View(new IndexViewModel {
                Accounts = new List <Account>()
                {
                    accountsFirst, accountsLast
                },
                AccountHierarchies = new List <AccountHierarchy>()
                {
                    accountsHierarchiesFirst, accountsHierarchiesLast
                },
                CountRegular = accCount,
                CountHierarchies = hierCount
            }));
        }