コード例 #1
0
        public async Task <ActionResult> BankAccountsData(string sortOrder)
        {
            string nameCurrentUser = User.Identity.Name;
            string idCurrentUser   = await UserService.FindUserIdAsync(nameCurrentUser);

            logger.Info("Клиент {0} запросил информацию о своих незаблокированных банковских счетах",
                        idCurrentUser);

            IEnumerable <BankAccountUserDTO> bankAccountsUserDTO =
                await bankAccountService.BankAccountsData(idCurrentUser);

            var mapper = new MapperConfiguration(cfg => cfg.CreateMap <BankAccountUserDTO,
                                                                       BankAccountUser>()).CreateMapper();
            var bankAccountsUser = mapper.Map <IEnumerable <BankAccountUserDTO>,
                                               IEnumerable <BankAccountUser> >(bankAccountsUserDTO);

            switch (sortOrder)
            {
            case "Number":
                bankAccountsUser = bankAccountsUser.OrderBy(bankAccountUser => bankAccountUser.NumberAccount).ToList();
                break;

            case "Number_desc":
                bankAccountsUser = bankAccountsUser.OrderByDescending(bankAccountUser => bankAccountUser.NumberAccount).ToList();
                break;

            case "Name":
                bankAccountsUser = bankAccountsUser.OrderBy(bankAccountUser => bankAccountUser.Name).ToList();
                break;

            case "Name_desc":
                bankAccountsUser = bankAccountsUser.OrderByDescending(bankAccountUser => bankAccountUser.Name).ToList();
                break;

            case "Balance":
                bankAccountsUser = bankAccountsUser.OrderBy(bankAccountUser => bankAccountUser.Balance).ToList();
                break;

            case "Balance_desc":
                bankAccountsUser = bankAccountsUser.OrderByDescending(bankAccountUser => bankAccountUser.Balance).ToList();
                break;
            }
            return(View(bankAccountsUser));
        }