public async Task<Tuple<string, decimal>> generateSlamdunkOrder(string slamdunkUserID) { var payload = new PayLoadSlamdunk() { @do = "gettoken", platform = 1000, sid = 1, uid = slamdunkUserID, buyid = this.exchangeOption.old_db_id }; using (var client = new HttpClient()) { client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("text/html")); // HTTP POST var content = GetQueryString(payload); HttpResponseMessage response = client.PostAsync(new Uri(ConfigurationManager.AppSettings["SLAMDUNK_ENDPOINT"] + "?" + content), new StringContent(content, Encoding.UTF8, "text/json")).Result; if (response.IsSuccessStatusCode) { var r = JsonHelper.DeserializeObject<PayLoadResultSlamdunk1>(response.Content.ReadAsStringAsync().Result); if (r.code != 0) { this.addError("user_id", JsonConvert.SerializeObject(r.desc)); return Tuple.Create(String.Empty, 0m); } else { return Tuple.Create(r.desc.orderid, r.desc.money); } } } return Tuple.Create(String.Empty, 0m); }
public async void executeSlamdunkOrder(string orderId, string slamdunkOrderID, decimal slamdunkMoney) { string rawTokenString = String.Format("orderid={0}&coid={1}&money={2}{3}", orderId, slamdunkOrderID, slamdunkMoney, ConfigurationManager.AppSettings["SLAMDUNK_KEY"]); var generatedToken = Helper.CalculateMD5Hash(rawTokenString); var payload = new PayLoadSlamdunk() { @do = "pay", platform = 1001, token = generatedToken.ToLower(), orderid = orderId, coid = slamdunkOrderID, money = slamdunkMoney }; using (var client = new HttpClient()) { client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("text/html")); // HTTP POST var content = GetQueryString(payload); HttpResponseMessage response = client.PostAsync(new Uri(ConfigurationManager.AppSettings["SLAMDUNK_ENDPOINT"] + "?" + content), new StringContent(content, Encoding.UTF8, "text/json")).Result; try { if (response.IsSuccessStatusCode) { var r = JsonHelper.DeserializeObject<PayLoadResultSlamdunk>(response.Content.ReadAsStringAsync().Result); if (r != null && r.code != 0) { this.addError("user_id", JsonConvert.SerializeObject(r.desc)); } } } catch (Exception ex) { StringBuilder errorBuilder = new StringBuilder(); errorBuilder.AppendLine("--------------------------: Controller "); errorBuilder.AppendLine("URL: " + game.endpoint); errorBuilder.AppendLine("Params:" + content); errorBuilder.AppendLine("Response:"); errorBuilder.AppendLine(response.Content.ReadAsStringAsync().Result); errorBuilder.AppendLine(Environment.NewLine); errorBuilder.AppendLine(ex.ToString()); //Log file and send email logger.Error(errorBuilder.ToString()); throw; } } }
public async Task<string> retrieveUserID() { var payload = new PayLoadSlamdunk() { @do = "query", platform = 1000, sid = 1, acct = this.user.id }; using (var client = new HttpClient()) { client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("text/html")); // HTTP POST var content = GetQueryString(payload); HttpResponseMessage response = client.PostAsync(new Uri(ConfigurationManager.AppSettings["SLAMDUNK_ENDPOINT"] + "?" + content), new StringContent(content, Encoding.UTF8, "text/json")).Result; if (response.IsSuccessStatusCode) { var r = JsonHelper.DeserializeObject<PayLoadResultSlamdunk>(response.Content.ReadAsStringAsync().Result); if (r != null) if (r.code != 0) { //this.addError("user_id", JsonConvert.SerializeObject(r.desc)); this.addError("user_id", r.desc); return null; } else { return r.userdata.uid; } } } return null; }