예제 #1
0
        /// <summary>
        /// The get all async.
        /// </summary>
        /// <param name="listId">
        /// The list id.
        /// </param>
        /// <returns>
        /// The <see cref="Task"/>.
        /// </returns>
        public async Task <IEnumerable <MergeField> > GetAllAsync(string listId, MergeFieldRequest request = null)
        {
            using (var client = this.CreateMailClient(string.Format(BaseUrl, listId)))
            {
                var response = await client.GetAsync(request?.ToQueryString()).ConfigureAwait(false);

                await response.EnsureSuccessMailChimpAsync().ConfigureAwait(false);

                var mergeResponse = await response.Content.ReadAsAsync <MergeFieldResponse>().ConfigureAwait(false);

                return(mergeResponse.MergeFields);
            }
        }
예제 #2
0
        /// <summary>
        /// The get async.
        /// </summary>
        /// <param name="listId">
        /// The list id.
        /// </param>
        /// <param name="mergeId">
        /// The merge id.
        /// </param>
        /// <param name="request"></param>
        /// <returns>
        /// The <see cref="Task"/>.
        /// </returns>
        public async Task <MergeField> GetAsync(string listId, int mergeId, MergeFieldRequest request = null)
        {
            using (var client = CreateMailClient(string.Format(BaseUrl + "/", listId)))
            {
                var response = await client.GetAsync(mergeId + request?.ToQueryString()).ConfigureAwait(false);

                await response.EnsureSuccessMailChimpAsync().ConfigureAwait(false);

                var mergeResponse = await response.Content.ReadAsAsync <MergeField>().ConfigureAwait(false);

                return(mergeResponse);
            }
        }
예제 #3
0
        /// <summary>
        /// The get response async.
        /// </summary>
        /// <param name="listId">
        /// The list id.
        /// </param>
        /// <param name="request"></param>
        /// <returns>
        /// The <see cref="Task"/>.
        /// </returns>
        public async Task <MergeFieldResponse> GetResponseAsync(string listId, MergeFieldRequest request = null)
        {
            request = request ?? new MergeFieldRequest
            {
                Limit = _limit
            };

            using (var client = CreateMailClient(string.Format(BaseUrl, listId)))
            {
                var response = await client.GetAsync(request.ToQueryString()).ConfigureAwait(false);

                await response.EnsureSuccessMailChimpAsync().ConfigureAwait(false);

                var mergeResponse = await response.Content.ReadAsAsync <MergeFieldResponse>().ConfigureAwait(false);

                return(mergeResponse);
            }
        }