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;
}