Beispiel #1
0
        public void ListUnsubscribersRequest()
        {
            IXmlParser xmlParser = new DefaultXmlParser();
            var        request   = new UnsubscriberListRequest
            {
                ApiKey    = "44-121312131223",
                GroupId   = 3213,
                StartDate = new DateTime(2014, 1, 1),
                EndDate   = new DateTime(2015, 1, 1)
            };

            var requestXml = xmlParser.Serialize(request);
            var xml        = File.ReadAllText("ViewUnsubscribersRequest.xml");

            Assert.AreEqual(xml, requestXml);
        }
Beispiel #2
0
        public UnsubscriberListResult ListUnsubscribers(int groupId, DateFilter filter)
        {
            var request = new UnsubscriberListRequest
            {
                ApiKey  = this._apiKey,
                GroupId = groupId
            };

            if (filter != null)
            {
                if (filter.FromDate.HasValue)
                {
                    request.StartDate = filter.FromDate.Value;
                }

                if (filter.ToDate.HasValue)
                {
                    request.EndDate = filter.ToDate.Value;
                }
            }

            var url          = $"{this._baseUrl}/subscribers/listUnsubscribers/";
            var xmlRequest   = this._parser.Serialize(request);
            var httpResponse = this._httpClient.Request(url, xmlRequest);

            if (httpResponse.Status != HttpStatus.Successful)
            {
                return(new UnsubscriberListResult
                {
                    Status = Status.Error,
                    Message = "Http error"
                });
            }

            var unsubscriberResult = this._parser.Deserialize <UnsubscriberListResult>(httpResponse.Result);

            return(unsubscriberResult);
        }