private QueryBag(string queryString, UserData userData) { UserData = userData; var filterParser = new FilterParser(); FilterBag = filterParser.Parse(queryString); var sortParser = new SortParser(); SortBag = sortParser.Parse(queryString); }
public SortBag Parse(string pattern) { var bag = new SortBag(); var candidates = pattern.Split("&").ToList(); var candidate = candidates .Where(IsSortParam) .FirstOrDefault(); if (!string.IsNullOrWhiteSpace(candidate)) { Extract(candidate).ForEach(sortParam => bag.Add(sortParam)); } return(bag); }