DanbooruDownloader3.Entity.DanbooruProvider.GetQueryUrl C# (CSharp) Method

GetQueryUrl() public method

public GetQueryUrl ( DanbooruDownloader3.Entity.DanbooruSearchParam searchParam ) : string
searchParam DanbooruDownloader3.Entity.DanbooruSearchParam
return string
        public string GetQueryUrl(DanbooruSearchParam searchParam)
        {
            var queryStr = GetQueryString(searchParam);

            var queryRootUrl = ""; ;
            switch (this.Preferred)
            {
                case PreferredMethod.Xml:
                    queryRootUrl = this.QueryStringXml;
                    break;

                case PreferredMethod.Json:
                    queryRootUrl = this.QueryStringJson;
                    break;

                case PreferredMethod.Html:
                    queryRootUrl = this.QueryStringHtml;
                    break;

                default:
                    break;
            }

            queryStr = queryRootUrl.Replace("%_query%", queryStr);

            switch (this.LoginType)
            {
                case Entity.LoginType.UserPass:
                    {
                        var hash = this.PasswordHash;
                        if (String.IsNullOrWhiteSpace(hash))
                        {
                            hash = Helper.GeneratePasswordHash(this.Password, this.PasswordSalt);
                            this.PasswordHash = hash;
                        }
                        string authString = "login=" + this.UserName + "&password_hash=" + hash;
                        queryStr = queryStr + "&" + authString;
                    }
                    break;

                case Entity.LoginType.Cookie:
                    // need to inject csv cookie  to the webclient
                    var cookies = Helper.ParseCookie(this.UserName, this.Url);
                    foreach (var cookie in cookies)
                    {
                        ExtendedWebClient.CookieJar.Add(cookie);
                    }
                    break;

                default:
                    break;
            }

            return this.Url + queryStr;
        }