/// <summary> /// /// </summary> /// <param name="mailingListId"></param> /// <param name="timestampSince"></param> /// <returns></returns> public async Task <List <SubscriptionType> > SubscriptionsAsync(string mailingListId = null, string timestampSince = null) { try { if (_subscriptions == null) { var req = new GetSubscriptionsReq() { header = Client.RequestHeader }; if (!string.IsNullOrWhiteSpace(mailingListId)) { req.mailingListId = int.Parse(mailingListId); } req.mailingListIdSpecified = true; if (!string.IsNullOrWhiteSpace(timestampSince)) { req.timestampSince = timestampSince; } GetSubscriptionsResponse response = await _client.API.GetSubscriptionsAsync(req); _subscriptions = response.GetSubscriptionsResp; } if (_subscriptions.errorCode == (int)errorCode.No_error) { return(_subscriptions.subscriptionTypeItems.ToList <SubscriptionType>()); } throw new FlexMailException(_subscriptions.errorMessage, _subscriptions.errorCode); } catch (Exception ex) { ////telemetry.TrackException(ex, new Dictionary<string, string> { { "Flexmail", "Account.Subscriptions" } }); if (ex is FlexMailException) { throw (ex); } } finally { _subscriptions = null; } return(new List <SubscriptionType>()); }
private bool disposedValue = false; // To detect redundant calls /// <summary> /// /// </summary> /// <param name="disposing"></param> protected virtual void Dispose(bool disposing) { if (!disposedValue) { if (disposing) { } _balance = null; _bounces = null; _profileUpdates = null; _subscriptions = null; _unsubscriptions = null; disposedValue = true; } }