/// <summary> /// Build query string /// </summary> /// <returns>Ready query string</returns> public string BuildQuery() { StringBuilder sb = new StringBuilder("http://api.vkontakte.ru/api.php?"); this.Add("v", "3.0"); // sorting params List <KeyValuePair <string, string> > myList = new List <KeyValuePair <string, string> >(this.paramData); myList.Sort( delegate(KeyValuePair <string, string> keyfirst, KeyValuePair <string, string> keylast) { return(keyfirst.Key.CompareTo(keylast.Key)); } ); StringBuilder md5sig = new StringBuilder(this.session.MemberId); foreach (KeyValuePair <string, string> rec in myList) { md5sig.Append(rec.Key + "=" + rec.Value); sb.Append(rec.Key + "=" + rec.Value + "&"); } md5sig.Append(this.session.Secret); sb.Append("sig=" + CommonUtils.Md5(md5sig.ToString()).ToLower()); sb.Append("&sid=" + this.session.SessionId); //sb.Append( return(sb.ToString());//this.query; }