コード例 #1
0
        public async Task <User> SubscribeToPremium(string id, SubscriptionPremium item)
        {
            string Auth = string.Concat("token=", Settings.Token);

            var uri = new Uri(string.Format(Constants.RestUrl + "users/" + id + "/subscribe" + "?" + Auth));

            try
            {
                var json    = JsonConvert.SerializeObject(item);
                var content = new StringContent(json, Encoding.UTF8, "application/json");

                var client = new HttpClient();

                var response = await client.PostAsync(uri, content);

                if (response.IsSuccessStatusCode)
                {
                    var content2 = await response.Content.ReadAsStringAsync();

                    var resp = JsonConvert.DeserializeObject <User>(content2);
                    return(resp);
                }
            }
            catch (Exception)
            {
            }

            return(null);
        }
コード例 #2
0
        async Task UpdateUserSubStatus(SubscriptionType type, string orderID)
        {
            if (user == null)
            {
                user = await StoreManager.UserStore.UpdateCurrentUser(null);

                if (user == null)
                {
                    return;
                }
            }

            if (user.Subscription != type)
            {
                if (type == SubscriptionType.free)
                {
                    user = await StoreManager.UnSubscribeToPremium("me");

                    Settings.User = Newtonsoft.Json.JsonConvert.SerializeObject(user);

                    MessagingCenter.Send(this, "SubscriptionChanged");
                }
                else
                {
                    user.Subscription = SubscriptionType.premium;

                    var _premium = new SubscriptionPremium
                    {
                        Ticket   = orderID,
                        Platform = Device.RuntimePlatform.ToLower()
                    };

                    user = await StoreManager.SubscribeToPremium("me", _premium);

                    Settings.User = Newtonsoft.Json.JsonConvert.SerializeObject(user);

                    MessagingCenter.Send(this, "SubscriptionChanged");
                }
            }
        }