/// <summary> /// Run the code example. /// </summary> /// <param name="user">The DFP user object running the code example.</param> public override void Run(DfpUser user) { // Get the ThirdpartySlotService. ThirdPartySlotService thirdPartySlotService = (ThirdPartySlotService) user.GetService(DfpService.v201211.ThirdPartySlotService); // Sets defaults for page and filterStatement. ThirdPartySlotPage page = new ThirdPartySlotPage(); Statement filterStatement = new StatementBuilder("WHERE status = :status LIMIT 500 ") .AddValue("status", ThirdPartySlotStatus.ARCHIVED.ToString()).ToStatement(); try { // Get third party slots by statement. page = thirdPartySlotService.getThirdPartySlotsByStatement(filterStatement); if (page.results != null) { int i = page.startIndex; foreach (ThirdPartySlot thirdPartySlot in page.results) { Console.WriteLine("{0}) Third party slot with ID \"{1}\" was found.", i, thirdPartySlot.id); i++; } } Console.WriteLine("Number of results found: " + page.totalResultSetSize); } catch (Exception ex) { Console.WriteLine("Failed to get third party slots. Exception says \"{0}\"", ex.Message); } }
/// <summary> /// Run the code example. /// </summary> /// <param name="user">The DFP user object running the code example.</param> public override void Run(DfpUser user) { // Get the ThirdpartySlotService. ThirdPartySlotService thirdPartySlotService = (ThirdPartySlotService) user.GetService(DfpService.v201211.ThirdPartySlotService); // Sets defaults for page and filterStatement. ThirdPartySlotPage page = new ThirdPartySlotPage(); Statement filterStatement = new Statement(); int offset = 0; try { do { // Create a statement to get third party slots. filterStatement.query = "LIMIT 500 OFFSET " + offset.ToString(); // Get third party slots by statement. page = thirdPartySlotService.getThirdPartySlotsByStatement(filterStatement); if (page.results != null) { int i = page.startIndex; foreach (ThirdPartySlot slot in page.results) { Console.WriteLine("{0}) Third party slot with ID \"{1}\" was found.", i, slot.id); i++; } } offset += 500; } while (offset < page.totalResultSetSize); } catch (Exception ex) { Console.WriteLine("Failed to get all third party slots. Exception says \"{0}\"", ex.Message); } }
/// <summary> /// Run the code example. /// </summary> /// <param name="user">The DFP user object running the code example.</param> public override void Run(DfpUser user) { // Get the ThirdpartySlotService. ThirdPartySlotService thirdPartySlotService = (ThirdPartySlotService) user.GetService(DfpService.v201211.ThirdPartySlotService); //Set the company that the third party slots to archive belong to. long companyId = long.Parse(_T("INSERT_COMPANY_ID_HERE")); // Create a statement to only select active third party slots. String statementText = "WHERE status = :status AND companyId = :companyId LIMIT 500"; Statement filterStatement = new StatementBuilder("").AddValue("status", ThirdPartySlotStatus.ACTIVE.ToString()).AddValue("companyId", companyId).ToStatement(); // Set defaults for page and offset. ThirdPartySlotPage page = new ThirdPartySlotPage(); int offset = 0; List<string> thirdPartySlotIds = new List<string>(); try { do { // Create a statement to page through active third party slots. filterStatement.query = statementText + " OFFSET " + offset; // Get third party slots by statement. page = thirdPartySlotService.getThirdPartySlotsByStatement(filterStatement); if (page.results != null) { foreach (ThirdPartySlot thirdPartySlot in page.results) { Console.WriteLine("Third party slot with ID \"{0}\" will be archived.", thirdPartySlot.id); thirdPartySlotIds.Add(thirdPartySlot.id.ToString()); } } offset += 500; } while (offset < page.totalResultSetSize); Console.WriteLine("Number of third party slots to be archived: " + thirdPartySlotIds.Count); if (thirdPartySlotIds.Count > 0) { // Modify statement for action. filterStatement.query = "WHERE id IN (" + string.Join(",", thirdPartySlotIds.ToArray()) + ")"; // Create action. ArchiveThirdPartySlots action = new ArchiveThirdPartySlots(); // Perform action. UpdateResult result = thirdPartySlotService.performThirdPartySlotAction(action, filterStatement); // Display results. if (result != null && result.numChanges > 0) { Console.WriteLine("Number of third party slots archived: " + result.numChanges); } else { Console.WriteLine("No third party slots were archived."); } } } catch (Exception ex) { Console.WriteLine("Failed to archive slots. Exception says \"{0}\"", ex.Message); } }