Ada.Questions.SeApiAccessor.Search C# (CSharp) Method

Search() public static method

public static Search ( string title, IEnumerable tags = null ) : Ada.Questions.QuestionMin[]
title string
tags IEnumerable
return Ada.Questions.QuestionMin[]
        public static QuestionMin[] Search(string title, IEnumerable<string> tags = null)
        {
            if (quota <= 0) return null;

            var url = $"{apiUrl}similar?pagesize=100&order=desc&sort=relevance&site=stackoverflow";
            if (!string.IsNullOrWhiteSpace(Configuration.SeApiKey))
            {
                url += $"&key={Configuration.SeApiKey}";
            }
            url += $"&filter={searchFilter}";
            url += "&title=" + WebUtility.UrlEncode(title);

            if (tags != null)
            {
                url += "&tagged=";
                foreach (var tag in tags)
                {
                    url += WebUtility.UrlEncode(tag) + ";";
                }
            }

            var json = SendReq(url);
            var data = JsonSerializer.DeserializeFromString<Dictionary<string, object>>(json);

            int.TryParse((string)data["quota_remaining"], out quota);
            var qsData = JsonSerializer.DeserializeFromString<Dictionary<string, Dictionary<string, object>[]>>(json);
            var qs = new List<QuestionMin>();

            foreach (var q in qsData["items"])
            {
                var qTagsStr = (string)q["tags"];
                qTagsStr = qTagsStr.Remove(0, 1);
                qTagsStr = qTagsStr.Substring(0, qTagsStr.Length - 1);

                qs.Add(new QuestionMin
                {
                    ID = uint.Parse((string)q["question_id"]),
                    Title = (string)q["title"],
                    Body = (string)q["body"],
                    Tags = qTagsStr.Split(','),
                    Score = int.Parse((string)q["score"]),
                    AnswerCount = ushort.Parse((string)q["answer_count"])
                });
            }

            return qs.ToArray();
        }