Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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;
                }
            }

        }
Esempio n. 3
0
        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;

        }