public static IUserSortStrategy GetStrategy(UserSortStrategyType sortStrategy, SortStrategyDirection sortDirection)
        {
            switch (sortStrategy)
            {
            case UserSortStrategyType.Name when sortDirection == SortStrategyDirection.Ascending:
                return(new SortUsersByNamesStrategy());

            case UserSortStrategyType.Name when sortDirection == SortStrategyDirection.Descending:
                return(new SortUsersByNamesDescStrategy());

            case UserSortStrategyType.Orders when sortDirection == SortStrategyDirection.Ascending:
                return(new SortUsersByTestDrivesCountStrategy());

            case UserSortStrategyType.Orders when sortDirection == SortStrategyDirection.Descending:
                return(new SortUsersByTestDrivesCountDescStrategy());

            case UserSortStrategyType.LockoutStatus when sortDirection == SortStrategyDirection.Ascending:
                return(new SortUsersByLockoutStatusStrategy());

            case UserSortStrategyType.LockoutStatus when sortDirection == SortStrategyDirection.Descending:
                return(new SortUsersByLockoutStatusDescStrategy());

            case UserSortStrategyType.Email when sortDirection == SortStrategyDirection.Ascending:
                return(new SortUsersByEmailStrategy());

            case UserSortStrategyType.Email when sortDirection == SortStrategyDirection.Descending:
                return(new SortUsersByEmailDescStrategy());

            default:
                throw new InvalidEnumArgumentException();
            }
        }
Esempio n. 2
0
        public IActionResult ChangeSortType(UserSortStrategyType sortStrategyType)
        {
            var sortTypeKey = WebConstants.CookieAdminUsersSortTypeKey;

            this.cookiesService.SetCookieValue(this.HttpContext.Response.Cookies, sortTypeKey, sortStrategyType.ToString());

            return(RedirectToAction("Index"));
        }