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