예제 #1
0
        public string GetQueryString()
        {
            if (string.IsNullOrEmpty(SearchQuery))
            {
                throw new ArgumentNullException("Query string must be specified.");
            }

            var q = new StringBuilder();

            q.Append($"q={WebUtility.UrlEncode(SearchQuery)}");

            foreach (var value in Enum.GetValues(typeof(QueryFields)))
            {
                if (RequestFields.HasFlag((QueryFields)value))
                {
                    q.Append($"&fl%5B%5D={FieldMap[(QueryFields)value]}");
                }
            }

            if (sortSelections != null && sortSelections.Length > 0)
            {
                foreach (var sel in sortSelections)
                {
                    q.Append($"&sort%5B%5D={sel.ToString()}");
                }
            }

            q.Append($"&rows={NumberOfResults}&page={Page}&output=json");

            return(q.ToString());
        }