public async Task <SupporterInfo> GetSupporterInfo()
        {
            var key = SupporterKey;

            if (string.IsNullOrWhiteSpace(key))
            {
                return(new SupporterInfo());
            }

            var url = Constants.Constants.MbAdminUrl + "/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);
            }
        }
Esempio n. 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);
            }
        }