Example #1
0
        public static async Task ExampleAsync()
        {
            using (IAdPostingApiClient client = new AdPostingApiClient(ClientId, ClientSecret, Environment.Integration))
            {
                // Create a new advertisement
                Advertisement         advertisement        = GetExampleAdvertisementToCreate();
                AdvertisementResource createdAdvertisement = await CreateAdvertisementExampleAsync(advertisement, client);

                if (createdAdvertisement != null)
                {
                    // Retrieve advertisement
                    AdvertisementResource advertisementResource = await GetAdvertisementExampleAsync(createdAdvertisement.Id, client);

                    // Modify details on the advertisement
                    advertisementResource.JobTitle   = "Senior Dude";
                    advertisementResource.CreationId = CreationId;
                    AdvertisementResource updatedAdvertisementResource = await UpdateAdvertisementExampleAsync(advertisementResource);

                    // Expire the advertisement
                    await ExpireAdvertisementExampleAsync(updatedAdvertisementResource);
                }

                // Get paged summaries of created advertisements
                AdvertisementSummaryPageResource advertisementSummaryPage = await GetAllAdvertisementsExampleAsync(client);

                while (!advertisementSummaryPage.Eof)
                {
                    advertisementSummaryPage = await GetAllAdvertisementsNextPageExampleAsync(advertisementSummaryPage);
                }
            }

            Console.WriteLine("Finished Example. Press a key to exit.");
            Console.ReadKey(true);
        }
Example #2
0
        public static async Task <AdvertisementResource> UpdateAdvertisementExampleAsync(AdvertisementResource advertisement)
        {
            AdvertisementResource advertisementResource = null;

            try
            {
                await TransientErrorRetryPolicy.ExecuteAsync(async() => advertisementResource = await advertisement.SaveAsync());

                Console.WriteLine($"Updated Advertisement:\n{JsonConvert.SerializeObject(advertisementResource, Formatting.Indented)}");
            }
            catch (RequestException ex)
            {
                LogException(ex);
            }

            return(advertisementResource);
        }
Example #3
0
        private static async Task <AdvertisementResource> GetAdvertisementExampleAsync(Guid advertisementId, IAdPostingApiClient client)
        {
            AdvertisementResource advertisementResource = null;

            try
            {
                await TransientErrorRetryPolicy.ExecuteAsync(async() => advertisementResource = await client.GetAdvertisementAsync(advertisementId));

                Console.WriteLine($"Retrieved Advertisement:\n{JsonConvert.SerializeObject(advertisementResource, Formatting.Indented)}");
            }
            catch (RequestException ex)
            {
                LogException(ex);
            }

            return(advertisementResource);
        }
Example #4
0
        public static async Task ExampleAsync()
        {
            using (IAdPostingApiClient client = new AdPostingApiClient(ClientId, ClientSecret, Environment.Integration))
            {
                // Determine available templates for this advertiser
                TemplateSummaryListResource templatesList = await GetAllTemplatesForAdvertiserExampleAsync(AdvertiserId, client);

                // Use first active template
                TemplateSummaryResource activeTemplate = templatesList.Templates.FirstOrDefault(t => t.State == TemplateStatus.Active);

                // Create a new advertisement
                Advertisement         advertisement        = GetExampleAdvertisementToCreate();
                AdvertisementResource createdAdvertisement = await CreateAdvertisementExampleAsync(advertisement, client);

                if (createdAdvertisement != null)
                {
                    // Retrieve advertisement
                    AdvertisementResource advertisementResource = await GetAdvertisementExampleAsync(createdAdvertisement.Id, client);

                    // Modify details on the advertisement
                    advertisementResource.JobTitle = "Senior Dude";

                    if (activeTemplate != null)
                    {
                        advertisementResource.Template.Id = Int32.Parse(activeTemplate.Id);
                    }

                    AdvertisementResource updatedAdvertisementResource = await UpdateAdvertisementExampleAsync(advertisementResource);

                    // Expire the advertisement
                    await ExpireAdvertisementExampleAsync(updatedAdvertisementResource);
                }

                // Get paged summaries of created advertisements
                AdvertisementSummaryPageResource advertisementSummaryPage = await GetAllAdvertisementsExampleAsync(client);

                while (!advertisementSummaryPage.Eof)
                {
                    advertisementSummaryPage = await GetAllAdvertisementsNextPageExampleAsync(advertisementSummaryPage);
                }
            }

            Console.WriteLine("Finished Example. Press a key to exit.");
            Console.ReadKey(true);
        }
Example #5
0
        public async Task UpdateExistingAdvertisementUsingHalSelfLink()
        {
            OAuth2Token oAuth2Token = new OAuth2TokenBuilder().Build();
            var         link        = $"{AdvertisementLink}/{AdvertisementId}";
            var         viewRenderedAdvertisementLink = $"{AdvertisementLink}/{AdvertisementId}/view";

            this.SetupPactForUpdatingExistingAdvertisement(link, oAuth2Token, viewRenderedAdvertisementLink);

            Advertisement         requestModel = this.SetupModelForExistingAdvertisement(new AdvertisementModelBuilder(this.AllFieldsInitializer)).Build();
            AdvertisementResource result;

            using (AdPostingApiClient client = this.Fixture.GetClient(oAuth2Token))
            {
                result = await client.UpdateAdvertisementAsync(new Uri(this.Fixture.AdPostingApiServiceBaseUri, link), requestModel);
            }

            AdvertisementResource expectedResult = this.SetupModelForExistingAdvertisement(
                new AdvertisementResourceBuilder(this.AllFieldsInitializer).WithId(new Guid(AdvertisementId)).WithLinks(AdvertisementId)).Build();

            result.ShouldBeEquivalentTo(expectedResult);
        }
        private void AssertReturnedAdvertisementMatchesExpectedExpiredAdvertisement(string advertisementId, DateTime expiryDate, AdvertisementResource result)
        {
            AdvertisementResource expectedResult = new AdvertisementResourceBuilder(this.AllFieldsInitializer)
                                                   .WithId(new Guid(advertisementId))
                                                   .WithLinks(advertisementId)
                                                   .WithState(AdvertisementState.Expired)
                                                   .WithExpiryDate(expiryDate)
                                                   .WithAgentId(null)
                                                   .Build();

            result.ShouldBeEquivalentTo(expectedResult);
        }
Example #7
0
        private void AssertRetrievedAdvertisementMatchesExpected(AllFieldsInitializer builderInitializer, string advertisementId, AdvertisementResource result)
        {
            AdvertisementResource expectedResult = new AdvertisementResourceBuilder(builderInitializer)
                                                   .WithId(new Guid(advertisementId))
                                                   .WithLinks(advertisementId)
                                                   .WithProcessingStatus(ProcessingStatus.Completed)
                                                   .Build();

            result.ShouldBeEquivalentTo(expectedResult);
        }