/// <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 ContentService.
      ContentService contentService =
          (ContentService) user.GetService(DfpService.v201403.ContentService);

      // Create a statement to get all content.
      StatementBuilder statementBuilder = new StatementBuilder()
          .OrderBy("id ASC")
          .Limit(StatementBuilder.SUGGESTED_PAGE_LIMIT);

      // Set default for page.
      ContentPage page = new ContentPage();

      try {
        do {
          // Get content by statement.
          page = contentService.getContentByStatement(statementBuilder.ToStatement());

          if (page.results != null) {
            int i = page.startIndex;
            foreach (Content content in page.results) {
              Console.WriteLine("{0}) Content with ID \"{1}\", name \"{2}\", and status \"{3}\" " +
                  "was found.", i, content.id, content.name, content.status);
              i++;
            }
          }
          statementBuilder.IncreaseOffsetBy(StatementBuilder.SUGGESTED_PAGE_LIMIT);
        } while (statementBuilder.GetOffset() < page.totalResultSetSize);

        Console.WriteLine("Number of results found: " + page.totalResultSetSize);
      } catch (Exception ex) {
        Console.WriteLine("Failed to get all content. 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 ContentService.
              ContentService contentService =
              (ContentService) user.GetService(DfpService.v201403.ContentService);

              // Set defaults for page and filterStatement.
              ContentPage page = new ContentPage();
              Statement filterStatement = new Statement();
              int offset = 0;

              try {
            do {
              // Create a statement to get all content.
              filterStatement.query = "LIMIT 500 OFFSET " + offset.ToString();

              // Get content by statement.
              page = contentService.getContentByStatement(filterStatement);

              if (page.results != null) {
            int i = page.startIndex;
            foreach (Content content in page.results) {
              Console.WriteLine("{0}) Content with ID \"{1}\", name \"{2}\", and status \"{3}\" " +
                  "was found.", i, content.id, content.name, content.status);
              i++;
            }
              }
              offset += 500;
            } while (offset < page.totalResultSetSize);

            Console.WriteLine("Number of results found: " + page.totalResultSetSize);
              } catch (Exception ex) {
            Console.WriteLine("Failed to get all content. 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 ContentService.
      ContentService contentService =
          (ContentService) user.GetService(DfpService.v201403.ContentService);

      // Get the NetworkService.
      NetworkService networkService = (NetworkService) user.GetService(
          DfpService.v201403.NetworkService);

      // Get the CustomTargetingService.
      CustomTargetingService customTargetingService = (CustomTargetingService) user.GetService(
          DfpService.v201403.CustomTargetingService);

      try {
        // Get content browse custom targeting key ID.
        long contentBrowseCustomTargetingKeyId =
            networkService.getCurrentNetwork().contentBrowseCustomTargetingKeyId;

        // Create a statement to select the categories matching the name comedy.
        Statement categoryFilterStatement = new StatementBuilder()
            .Where("customTargetingKeyId = :contentBrowseCustomTargetingKeyId " +
            " and name = :category")
            .OrderBy("id ASC")
            .Limit(1)
            .AddValue("contentBrowseCustomTargetingKeyId", contentBrowseCustomTargetingKeyId)
            .AddValue("category", "comedy")
            .ToStatement();

        // Get categories matching the filter statement.
        CustomTargetingValuePage customTargetingValuePage =
            customTargetingService.getCustomTargetingValuesByStatement(categoryFilterStatement);

        if (customTargetingValuePage.results != null) {
          // Get the custom targeting value ID for the comedy category.
          long categoryCustomTargetingValueId = customTargetingValuePage.results[0].id;

          // Create a statement to get all active content.
          StatementBuilder statementBuilder = new StatementBuilder()
            .Where("status = :status")
            .OrderBy("id ASC")
            .Limit(StatementBuilder.SUGGESTED_PAGE_LIMIT)
            .AddValue("status", "ACTIVE");

          // Set defaults for page and filterStatement.
          ContentPage page = new ContentPage();

          do {
            // Get content by statement.
            page = contentService.getContentByStatementAndCustomTargetingValue(
                statementBuilder.ToStatement(), categoryCustomTargetingValueId);

            if (page.results != null) {
              int i = page.startIndex;
              foreach (Content content in page.results) {
                Console.WriteLine("{0})  Content with ID \"{1}\", name \"{2}\", and status " +
                    "\"{3}\" was found.", i, content.id, content.name, content.status);
                i++;
              }
            }
            statementBuilder.IncreaseOffsetBy(StatementBuilder.SUGGESTED_PAGE_LIMIT);
          } while (statementBuilder.GetOffset() < page.totalResultSetSize);

          Console.WriteLine("Number of results found: " + page.totalResultSetSize);
        }
      } catch (Exception ex) {
        Console.WriteLine("Failed to get content by category. 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 ContentService.
              ContentService contentService =
              (ContentService) user.GetService(DfpService.v201403.ContentService);

              // Get the NetworkService.
              NetworkService networkService = (NetworkService) user.GetService(
              DfpService.v201403.NetworkService);

              // Get the CustomTargetingService.
              CustomTargetingService customTargetingService = (CustomTargetingService) user.GetService(
              DfpService.v201403.CustomTargetingService);

              try {
            // Get content browse custom targeting key ID.
            long contentBrowseCustomTargetingKeyId =
            networkService.getCurrentNetwork().contentBrowseCustomTargetingKeyId;

            // Create a statement to select the categories matching the name comedy.
            Statement categoryFilterStatement = new StatementBuilder(
            "WHERE customTargetingKeyId = :contentBrowseCustomTargetingKeyId " +
            " and name = :category LIMIT 1")
            .AddValue("contentBrowseCustomTargetingKeyId", contentBrowseCustomTargetingKeyId)
            .AddValue("category", "comedy").ToStatement();

            // Get categories matching the filter statement.
            CustomTargetingValuePage customTargetingValuePage =
            customTargetingService.getCustomTargetingValuesByStatement(categoryFilterStatement);

            if (customTargetingValuePage.results != null) {
              // Get the custom targeting value ID for the comedy category.
              long categoryCustomTargetingValueId = customTargetingValuePage.results[0].id;

              // Set defaults for page and filterStatement.
              ContentPage page = new ContentPage();
              Statement filterStatement = new Statement();
              int offset = 0;

              do {
            // Create a statement to get all active content.
            filterStatement.query = "WHERE status = 'ACTIVE' LIMIT 500 OFFSET " + offset.ToString();

            // Get content by statement.
            page = contentService.getContentByStatementAndCustomTargetingValue(filterStatement,
                categoryCustomTargetingValueId);

            if (page.results != null) {
              int i = page.startIndex;
              foreach (Content content in page.results) {
                Console.WriteLine("{0})  Content with ID \"{1}\", name \"{2}\", and status " +
                    "\"{3}\" was found.", i, content.id, content.name, content.status);
                i++;
              }
            }
            offset += 500;
              } while (offset < page.totalResultSetSize);

              Console.WriteLine("Number of results found: " + page.totalResultSetSize);
            }
              } catch (Exception ex) {
            Console.WriteLine("Failed to get content by category. Exception says \"{0}\"", ex.Message);
              }
        }