/// <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 CustomFieldService. CustomFieldService customFieldService = (CustomFieldService) user.GetService( DfpService.v201308.CustomFieldService); // Sets defaults for page and filter. CustomFieldPage page = new CustomFieldPage(); Statement filterStatement = new Statement(); int offset = 0; try { do { // Create a statement to get all custom fields. filterStatement.query = "LIMIT 500 OFFSET " + offset; // Get custom fields by statement. page = customFieldService.getCustomFieldsByStatement(filterStatement); if (page.results != null) { int i = page.startIndex; foreach (CustomField customField in page.results) { if (customField is DropDownCustomField) { List<String> dropDownCustomFieldStrings = new List<String>(); DropDownCustomField dropDownCustomField = (DropDownCustomField) customField; if (dropDownCustomField.options != null) { foreach (CustomFieldOption customFieldOption in dropDownCustomField.options) { dropDownCustomFieldStrings.Add(customFieldOption.displayName); } } Console.WriteLine("{0}) Drop-down custom field with ID \"{1}\", name \"{2}\", " + "and options {{{3}}} was found.", i, customField.id, customField.name, string.Join(", ", dropDownCustomFieldStrings.ToArray())); } else { Console.WriteLine("{0}) Custom field with ID \"{1}\" and name \"{2}\" was found.", i, customField.id, customField.name); } i++; } } offset += 500; } while (page.results != null && page.results.Length == 500); Console.WriteLine("Number of results found: " + page.totalResultSetSize); } catch (Exception ex) { Console.WriteLine("Failed to get all custom fields. 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 CustomFieldService. CustomFieldService customFieldService = (CustomFieldService) user.GetService( DfpService.v201308.CustomFieldService); // Create statement to select only custom fields that apply to line items. String statementText = "WHERE entityType = :entityType LIMIT 500"; Statement filterStatement = new StatementBuilder(statementText) .AddValue("entityType", CustomFieldEntityType.LINE_ITEM.ToString()) .ToStatement(); // Set defaults for page and offset. CustomFieldPage page = new CustomFieldPage(); int offset = 0; int i = 0; try { do { // Create a statement to page through custom fields. filterStatement.query = statementText + " OFFSET " + offset; // Get custom fields by statement. page = customFieldService.getCustomFieldsByStatement(filterStatement); if (page.results != null) { foreach (CustomField customField in page.results) { Console.WriteLine("{0}) Custom field with ID \"{1}\" and name \"{2}\" was found.", i, customField.id, customField.name); i++; } } offset += 500; } while (offset < page.totalResultSetSize); Console.WriteLine("Number of results found: {0}", page.totalResultSetSize); } catch (Exception ex) { Console.WriteLine("Failed to get all line item custom fields. 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 CustomFieldService. CustomFieldService customFieldService = (CustomFieldService) user.GetService( DfpService.v201308.CustomFieldService); // Create statement to select only active custom fields that apply to // line items. String statementText = "WHERE entityType = :entityType and isActive = :isActive LIMIT 500"; Statement filterStatement = new StatementBuilder(statementText) .AddValue("entityType", CustomFieldEntityType.LINE_ITEM.ToString()) .AddValue("isActive", true) .ToStatement(); // Set defaults for page and offset. CustomFieldPage page = new CustomFieldPage(); int offset = 0; int i = 0; List<string> customFieldIds = new List<string>(); try { do { // Create a statement to page through custom fields. filterStatement.query = statementText + " OFFSET " + offset; // Get custom fields by statement. page = customFieldService.getCustomFieldsByStatement(filterStatement); if (page.results != null) { foreach (CustomField customField in page.results) { Console.WriteLine("{0}) Custom field with ID \"{1}\" and name \"{2}\" will be " + "deactivated.", i, customField.id, customField.name); customFieldIds.Add(customField.id.ToString()); i++; } } offset += 500; } while (offset < page.totalResultSetSize); Console.WriteLine("Number of custom fields to be deactivated: " + customFieldIds.Count); if (customFieldIds.Count > 0) { // Modify statement for action. filterStatement.query = "WHERE id IN (" + string.Join(", ", customFieldIds.ToArray()) + ")"; // Create action. DeactivateCustomFields action = new DeactivateCustomFields(); // Perform action. UpdateResult result = customFieldService.performCustomFieldAction( action, filterStatement); // Display results. if (result != null && result.numChanges > 0) { Console.WriteLine("Number of custom fields deactivated: " + result.numChanges); } else { Console.WriteLine("No custom fields were deactivated."); } } } catch (Exception ex) { Console.WriteLine("Failed to deactivate custom fields. Exception says \"{0}\"", ex.Message); } }