Example #1
0
        public async Task<Campaign> AddOrUpdateAsync(string campaignId, Campaign campaign)
        {
            using (var client = CreateMailClient("campaigns/"))
            {
                var response = await client.PutAsJsonAsync($"{campaignId}", campaign, null);
                await response.EnsureSuccessMailChimpAsync();

                return await response.Content.ReadAsAsync<Campaign>();
            }
        }
Example #2
0
		public async Task<Campaign> UpdateAsync(string campaignId, Campaign campaign)
		{
			using (var client = this.CreateMailClient("campaigns/"))
			{
				var response = await client.PatchAsJsonAsync($"{campaignId}", campaign).ConfigureAwait(false);
				await response.EnsureSuccessMailChimpAsync().ConfigureAwait(false);

				return await response.Content.ReadAsAsync<Campaign>().ConfigureAwait(false);
			}
		}
Example #3
0
		/// <summary>
		/// The add or update async.
		/// </summary>
		/// <param name="campaignId">
		/// The campaign id.
		/// </param>
		/// <param name="campaign">
		/// The campaign.
		/// </param>
		/// <returns>
		/// The <see cref="Task"/>.
		/// </returns>
		/// <exception cref="ArgumentNullException"><paramref>
		///         <name>uriString</name>
		///     </paramref>
		///     is null. </exception>
		/// <exception cref="MailChimpException">
		/// Custom Mail Chimp Exception
		/// </exception>
		/// <exception cref="UriFormatException">In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, <see cref="T:System.FormatException" />, instead.<paramref name="uriString" /> is empty.-or- The scheme specified in <paramref name="uriString" /> is not correctly formed. See <see cref="M:System.Uri.CheckSchemeName(System.String)" />.-or- <paramref name="uriString" /> contains too many slashes.-or- The password specified in <paramref name="uriString" /> is not valid.-or- The host name specified in <paramref name="uriString" /> is not valid.-or- The file name specified in <paramref name="uriString" /> is not valid. -or- The user name specified in <paramref name="uriString" /> is not valid.-or- The host or authority name specified in <paramref name="uriString" /> cannot be terminated by backslashes.-or- The port number specified in <paramref name="uriString" /> is not valid or cannot be parsed.-or- The length of <paramref name="uriString" /> exceeds 65519 characters.-or- The length of the scheme specified in <paramref name="uriString" /> exceeds 1023 characters.-or- There is an invalid character sequence in <paramref name="uriString" />.-or- The MS-DOS path specified in <paramref name="uriString" /> must start with c:\\.</exception>
		public async Task<Campaign> AddOrUpdateAsync(Campaign campaign)
		{
			if (string.IsNullOrWhiteSpace(campaign.Id))
			{
				return await this.CreateAsync(campaign).ConfigureAwait(false);
			}

			using (var client = this.CreateMailClient("campaigns/"))
			{
				var response = await client.PatchAsJsonAsync($"{campaign.Id}", campaign).ConfigureAwait(false);
				await response.EnsureSuccessMailChimpAsync().ConfigureAwait(false);

				return await response.Content.ReadAsAsync<Campaign>().ConfigureAwait(false);
			}
		}
Example #4
0
		public async Task<Campaign> AddAsync(Campaign campaign)
		{
			return await this.CreateAsync(campaign).ConfigureAwait(false);
		}
Example #5
0
        private async Task<Campaign> CreateAsync(Campaign campaign)
        {
            using (var client = this.CreateMailClient("campaigns"))
            {
                var response = await client.PostAsJsonAsync("", campaign).ConfigureAwait(false);
                await response.EnsureSuccessMailChimpAsync().ConfigureAwait(false);

                return await response.Content.ReadAsAsync<Campaign>().ConfigureAwait(false);
            }
        }