private static Tuple <bool, bool> GetActiveStates(IBaseListViewModel model, HttpContext httpContext, string name) { var queryStringValues = HttpUtility.ParseQueryString(httpContext.Request.QueryString.ToString()); bool active; var orderByDesc = model.OrderByDesc; if (queryStringValues.HasKeys() && queryStringValues.AllKeys.Contains("sortBy")) { var currentSortBy = queryStringValues["sortBy"]; active = currentSortBy.Equals(name, StringComparison.OrdinalIgnoreCase); if (queryStringValues.AllKeys.Contains("sortDescending")) { orderByDesc = queryStringValues["sortDescending"].ToBoolean(); } } else { active = model.DefaultOrderBy.Equals(name, StringComparison.OrdinalIgnoreCase); } return(new Tuple <bool, bool>(active, orderByDesc)); }
private static bool InverseSortingDirection(IBaseListViewModel model, HttpContext httpContext, string name) { var states = GetActiveStates(model, httpContext, name); return(states.Item1 & !states.Item2); }