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;
            }
        }
Exemple #2
0
        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;
            }
        }