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(); } }
public IActionResult ChangeSortType(UserSortStrategyType sortStrategyType) { var sortTypeKey = WebConstants.CookieAdminUsersSortTypeKey; this.cookiesService.SetCookieValue(this.HttpContext.Response.Cookies, sortTypeKey, sortStrategyType.ToString()); return(RedirectToAction("Index")); }