public async Task<SupporterInfo> GetSupporterInfo() { var key = SupporterKey; if (string.IsNullOrWhiteSpace(key)) { return new SupporterInfo(); } var url = MbAdmin.HttpsUrl + "/service/supporter/retrieve?key=" + key; using (var stream = await _httpClient.Get(url, CancellationToken.None).ConfigureAwait(false)) { var response = _jsonSerializer.DeserializeFromStream<SuppporterInfoResponse>(stream); var info = new SupporterInfo { Email = response.email, PlanType = response.planType, SupporterKey = response.supporterKey, ExpirationDate = string.IsNullOrWhiteSpace(response.expDate) ? (DateTime?)null : DateTime.Parse(response.expDate), RegistrationDate = DateTime.Parse(response.regDate), IsActiveSupporter = IsMBSupporter }; info.IsExpiredSupporter = info.ExpirationDate.HasValue && info.ExpirationDate < DateTime.UtcNow && !string.IsNullOrWhiteSpace(info.SupporterKey); return info; } }
public async Task<SupporterInfo> GetSupporterInfo() { var key = SupporterKey; if (string.IsNullOrWhiteSpace(key)) { return new SupporterInfo(); } var data = new Dictionary<string, string> { { "key", key }, }; var url = MbAdmin.HttpsUrl + "/service/supporter/retrieve"; using (var stream = await _httpClient.Post(url, data, CancellationToken.None).ConfigureAwait(false)) { var response = _jsonSerializer.DeserializeFromStream<SuppporterInfoResponse>(stream); var info = new SupporterInfo { Email = response.email, PlanType = response.planType, SupporterKey = response.supporterKey, IsActiveSupporter = IsMBSupporter }; if (!string.IsNullOrWhiteSpace(response.expDate)) { DateTime parsedDate; if (DateTime.TryParse(response.expDate, out parsedDate)) { info.ExpirationDate = parsedDate; } else { _logger.Error("Failed to parse expDate: {0}", response.expDate); } } if (!string.IsNullOrWhiteSpace(response.regDate)) { DateTime parsedDate; if (DateTime.TryParse(response.regDate, out parsedDate)) { info.RegistrationDate = parsedDate; } else { _logger.Error("Failed to parse regDate: {0}", response.regDate); } } info.IsExpiredSupporter = info.ExpirationDate.HasValue && info.ExpirationDate < DateTime.UtcNow && !string.IsNullOrWhiteSpace(info.SupporterKey); return info; } }