Пример #1
0
        /// <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 TeamService.
              TeamService teamService = (TeamService) user.GetService(DfpService.v201211.TeamService);

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

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

              // Get teams by statement.
              page = teamService.getTeamsByStatement(filterStatement);

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

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

              // Sets defaults for page and Statement.
              UserPage page = new UserPage();
              Statement statement = new Statement();
              int offset = 0;

              try {
            do {
              // Create a Statement to get all users.
              statement.query = string.Format("LIMIT 500 OFFSET {0}", offset);

              // Get users by Statement.
              page = userService.getUsersByStatement(statement);

              if (page.results != null && page.results.Length > 0) {
            int i = page.startIndex;
            foreach (User usr in page.results) {
              Console.WriteLine("{0}) User with ID = '{1}', email = '{2}', and role = '{3}'" +
                  " was found.", i, usr.id, usr.email, usr.roleName);
              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 users. 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 AudienceSegmentService.
      AudienceSegmentService audienceSegmentService =
          (AudienceSegmentService) user.GetService(DfpService.v201211.AudienceSegmentService);

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

      try {
        do {
          // Create a Statement to get all creatives.
          statement.query = string.Format("LIMIT 500 OFFSET {0}", offset);

          // Get audience segment by Statement.
          page = audienceSegmentService.getAudienceSegmentsByStatement(statement);

          // Display results.
          if (page.results != null && page.results.Length > 0) {
            int i = page.startIndex;
            foreach (AudienceSegment segment in page.results) {
              Console.WriteLine("{0}) 'Audience segment with id \"{1}\" and name \"{2}\" was " +
                  "found.", i, segment.id, segment.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 audience segment. Exception says \"{0}\"", ex.Message);
      }
    }
Пример #5
0
    /// <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 OrderService.
      OrderService orderService = (OrderService) user.GetService(DfpService.v201211.OrderService);

      // Sets defaults for page and Statement.
      OrderPage page = new OrderPage();
      Statement statement = new Statement();
      int offset = 0;

      try {
        do {
          // Create a Statement to get all orders.
          statement.query = string.Format("LIMIT 500 OFFSET {0}", offset);

          // Get orders by Statement.
          page = orderService.getOrdersByStatement(statement);

          if (page.results != null && page.results.Length > 0) {
            int i = page.startIndex;
            foreach (Order order in page.results) {
              Console.WriteLine("{0}) Order with ID = '{1}', name = '{2}', and advertiser " +
                  "ID = '{3}' was found.", i, order.id, order.name, order.advertiserId);
              i++;
            }
          }

          offset += 500;
        } while (page.results != null && page.results.Length == 500);

        Console.WriteLine("Number of results found: {0}", page.totalResultSetSize);
      } catch (Exception ex) {
        Console.WriteLine("Failed to get all orders. Exception says \"{0}\"",
            ex.Message);
      }
    }
        public void TestAllStatementBuilderPartialFunctions()
        {
            StatementBuilder statementBuilder = new StatementBuilder()
              .Select("Name, Id")
              .From("Geo_Target")
              .Where("Targetable = :targetable")
              .OrderBy("Id DESC")
              .Limit(StatementBuilder.SUGGESTED_PAGE_LIMIT)
              .Offset(0)
              .AddValue("targetable", true)
              .IncreaseOffsetBy(StatementBuilder.SUGGESTED_PAGE_LIMIT)
              .RemoveLimitAndOffset();
              Assert.AreEqual(null, statementBuilder.GetOffset());

              Statement expectedStatement = new Statement();
              expectedStatement.query = "SELECT Name, Id FROM Geo_Target"
              + " WHERE Targetable = :targetable ORDER BY Id DESC";
              String_ValueMapEntry targetableEntry = new String_ValueMapEntry();
              targetableEntry.key = "targetable";
              BooleanValue targetableValue = new BooleanValue();
              targetableValue.value = true;
              targetableEntry.value = targetableValue;
              expectedStatement.values = new String_ValueMapEntry[] {targetableEntry};
              Assert.True(StatementsAreEqual(expectedStatement, statementBuilder.ToStatement()));
        }
    /// <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 UserService.
      UserService userService = (UserService) user.GetService(DfpService.v201211.UserService);

      // Create a Statement to get all users sorted by name.
      Statement statement = new Statement();
      statement.query = "ORDER BY name LIMIT 500";

      try {
        // Get users by Statement.
        UserPage page = userService.getUsersByStatement(statement);

        if (page.results != null && page.results.Length > 0) {
          int i = page.startIndex;
          foreach (User usr in page.results) {
            Console.WriteLine("{0}) User with ID = '{1}', email = '{2}', and role = '{3}'" +
              " was found.", i, usr.id, usr.email, usr.roleName);
          }
        }
        Console.WriteLine("Number of results found: {0}", page.totalResultSetSize);
      } catch (Exception ex) {
        Console.WriteLine("Failed to get user by ID. 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 CreativeService.
      CreativeService creativeService =
          (CreativeService) user.GetService(DfpService.v201211.CreativeService);

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

      try {
        do {
          // Create a Statement to get all creatives.
          statement.query = string.Format("LIMIT 500 OFFSET {0}", offset);

          // Get creatives by Statement.
          page = creativeService.getCreativesByStatement(statement);

          if (page.results != null && page.results.Length > 0) {
            int i = page.startIndex;
            foreach (Creative creative in page.results) {
              Console.WriteLine("{0}) Creative with ID ='{1}', name ='{2}' and type ='{3}' " +
                  "was found.", i, creative.id, creative.name, creative.CreativeType);
              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 creatives. 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 SuggestedAdUnitService.
      SuggestedAdUnitService suggestedAdUnitService = (SuggestedAdUnitService) user.GetService(
          DfpService.v201211.SuggestedAdUnitService);

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

      try {
        do {
          // Create a statement to get all suggested ad units.
          filterStatement.query = "LIMIT 500 OFFSET " + offset;

          // Get suggested ad units by statement.
          page = suggestedAdUnitService.getSuggestedAdUnitsByStatement(filterStatement);

          if (page.results != null) {
            int i = page.startIndex;
            foreach (SuggestedAdUnit suggestedAdUnit in page.results) {
              Console.WriteLine("{0}) Suggested ad unit with ID \"{1}\", and number of requests " +
                  "\"{2}\" was found.", i, suggestedAdUnit.id, suggestedAdUnit.numRequests);
              i++;
            }
          }
          offset += 500;
        } while (offset < page.totalResultSetSize);

        Console.WriteLine("Number of results found: " + page.totalResultSetSize);
      } catch (Exception ex) {
        Console.WriteLine("Failed to get suggested ad units. 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.v201211.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 InventoryService.
              InventoryService inventoryService =
              (InventoryService) user.GetService(DfpService.v201211.InventoryService);

              // Sets defaults for page and statement.
              AdUnitPage page = new AdUnitPage();
              Statement statement = new Statement();
              int offset = 0;

              try {
            do {
              // Create a Statement to get all ad units.
              statement.query = string.Format("LIMIT 500 OFFSET {0}", offset);

              // Get ad units by Statement.
              page = inventoryService.getAdUnitsByStatement(statement);

              if (page.results != null && page.results.Length > 0) {
            int i = page.startIndex;
            foreach (AdUnit adUnit in page.results) {
              Console.WriteLine("{0}) Ad unit with ID = '{1}', name = '{2}' and status = '{3}' " +
                  "was found.", i, adUnit.id, adUnit.name, adUnit.status);
              i++;
            }
              }
              offset += 500;
            } while (offset < page.totalResultSetSize);

            Console.WriteLine("Number of results found: {0}", page.totalResultSetSize);
              } catch (Exception ex) {
            Console.WriteLine("Failed to get ad unit. Exception says \"{0}\"", ex.Message);
              }
        }
        public void TestStatementBuilderBasicStatement()
        {
            StatementBuilder statementBuilder = new StatementBuilder()
              .Where("ID = 1");

              Statement expectedStatement = new Statement();
              expectedStatement.query = "WHERE ID = 1";
              expectedStatement.values = new String_ValueMapEntry[0];

              Assert.True(StatementsAreEqual(expectedStatement,
                                     statementBuilder.ToStatement()));
        }
        /// <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 PlacementService.
              PlacementService placementService =
              (PlacementService) user.GetService(DfpService.v201211.PlacementService);

              // Get the InventoryService.
              InventoryService inventoryService =
              (InventoryService) user.GetService(DfpService.v201211.InventoryService);

              // Create a statement to select first 500 placements.
              Statement filterStatement = new Statement();
              filterStatement.query = "LIMIT 500";

              try {
            // Get placements by statement.
            PlacementPage page = placementService.getPlacementsByStatement(filterStatement);

            if (page.results != null) {
              Placement[] placements = page.results;

              // Update each local placement object by enabling AdSense targeting.
              foreach (Placement placement in placements) {
            placement.targetingDescription = (string.IsNullOrEmpty(placement.description))?
                "Generic description" : placement.description;
            placement.targetingAdLocation = "All images on sports pages.";
            placement.targetingSiteName = "http://code.google.com";
            placement.isAdSenseTargetingEnabled = true;
              }

              // Update the placements on the server.
              placements = placementService.updatePlacements(placements);

              // Display results.
              if (placements != null) {
            foreach (Placement placement in placements) {
              Console.WriteLine("A placement with ID \"{0}\", name \"{1}\", and AdSense targeting" +
                  " enabled \"{2}\" was updated.", placement.id, placement.name,
                  placement.isAdSenseTargetingEnabled);
            }
              } else {
            Console.WriteLine("No placements updated.");
              }
            }
              } catch (Exception ex) {
            Console.WriteLine("Failed to update placements. 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.v201211.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 CreativeService.
              CustomTargetingService customTargetingService =
              (CustomTargetingService) user.GetService(DfpService.v201211.CustomTargetingService);

              // Create a statement to get all custom targeting keys.
              Statement filterStatement = new Statement();
              filterStatement.query = "LIMIT 500";

              try {
            // Get custom targeting keys by statement.
            CustomTargetingKeyPage page =
            customTargetingService.getCustomTargetingKeysByStatement(filterStatement);

            if (page.results != null) {
              CustomTargetingKey[] customTargetingKeys = page.results;

              // Update each local custom targeting key object by changing its display
              // name.
              foreach (CustomTargetingKey customTargetingKey in customTargetingKeys) {
            if (customTargetingKey.displayName == null) {
              customTargetingKey.displayName = customTargetingKey.name;
            }
            customTargetingKey.displayName = customTargetingKey.displayName + " (Deprecated)";
              }

              // Update the custom targeting keys on the server.
              customTargetingKeys =
              customTargetingService.updateCustomTargetingKeys(customTargetingKeys);

              if (customTargetingKeys != null) {
            foreach (CustomTargetingKey customTargetingKey in customTargetingKeys) {
              Console.WriteLine("Custom targeting key with ID \"{0}\", name \"{1}\", and " +
                  "display name \"{2}\" was updated.", customTargetingKey.id,
                  customTargetingKey.name, customTargetingKey.displayName);
            }
              } else {
            Console.WriteLine("No custom targeting keys updated.");
              }
            } else {
              Console.WriteLine("No custom targeting keys found to update.");
            }
              } catch (Exception ex) {
            Console.WriteLine("Failed to update display name of custom targeting keys. 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 OrderService.
              OrderService orderService = (OrderService) user.GetService(DfpService.v201211.OrderService);

              // Create a Statement to get all orders.
              Statement statement = new Statement();
              statement.query = "LIMIT 500";

              try {
            // Get orders by Statement.
            OrderPage page = orderService.getOrdersByStatement(statement);

            if (page.results != null && page.results.Length > 0) {
              Order[] orders = page.results;
              List<Order> ordersToUpdate = new List<Order>();

              // Update each local order object by changing its notes.
              foreach (Order order in orders) {
            if (!order.isArchived) {
              order.notes = "Spoke to advertiser. All is well.";
              ordersToUpdate.Add(order);
            }
              }

              // Update the orders on the server.
              orders = orderService.updateOrders(ordersToUpdate.ToArray());

              if (orders != null) {
            foreach (Order order in orders) {
              Console.WriteLine("Order with ID = '{0}', name = '{1}', advertiser ID = '{2}', " +
                  "and notes = '{3}' was updated.", order.id, order.name, order.advertiserId,
                  order.notes);
            }
              } else {
            Console.WriteLine("No orders updated.");
              }
            } else {
              Console.WriteLine("No orders found to update.");
            }
              } catch (Exception ex) {
            Console.WriteLine("Failed to update orders. Exception says \"{0}\"",
            ex.Message);
              }
        }
Пример #17
0
        /// <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 LineItemCreativeAssociationService.
              LineItemCreativeAssociationService licaService = (LineItemCreativeAssociationService)
              user.GetService(DfpService.v201211.LineItemCreativeAssociationService);

              // Create a Statement to get all LICAs.
              Statement statement = new Statement();
              statement.query = "LIMIT 500";

              try {
            // Get LICAs by Statement.
            LineItemCreativeAssociationPage page =
            licaService.getLineItemCreativeAssociationsByStatement(statement);

            if (page.results != null && page.results.Length > 0) {
              LineItemCreativeAssociation[] licas = page.results;

              // Update each local LICA object by changing its destination URL.
              foreach (LineItemCreativeAssociation lica in licas) {
            lica.destinationUrl = "http://news.google.com";
              }

              // Update the LICAs on the server.
              licas = licaService.updateLineItemCreativeAssociations(licas);

              if (licas != null) {
            foreach (LineItemCreativeAssociation lica in licas) {
              Console.WriteLine("LICA with line item ID = '{0}, creative ID ='{1}' and " +
                  "destination URL '{2}' was updated.", lica.lineItemId, lica.creativeId,
                  lica.destinationUrl);
            }
              } else {
            Console.WriteLine("No LICAs updated.");
              }
            } else {
              Console.WriteLine("No LICAs found to update.");
            }
              } catch (Exception ex) {
            Console.WriteLine("Failed to update LICAs. Exception says \"{0}\"", ex.Message);
              }
        }
        /// <summary>
        /// Run the code example.
        /// </summary>
        /// <param name="dfpUser">The DFP user object running the code example.</param>
        public override void Run(DfpUser dfpUser)
        {
            // Get the UserService.
              UserService userService = (UserService) dfpUser.GetService(DfpService.v201211.UserService);

              // Create a Statement to get all users.
              Statement statement = new Statement();
              statement.query = "LIMIT 500";

              try {
            // Get users by Statement.
            UserPage page = userService.getUsersByStatement(statement);

            if (page.results != null && page.results.Length > 0) {
              User[] users = page.results;

              // Update each local users object by changing its name.
              foreach (User user in users) {
            user.name = user.name + " Sr.";
              }

              // Update the users on the server.
              users = userService.updateUsers(users);

              if (users != null) {
            foreach (User user in users) {
              Console.WriteLine("A user with ID = '{0}', name ='{1}', and role = '{2}'" +
                  " was updated.", user.id, user.name, user.roleName);
            }
              } else {
            Console.WriteLine("No users updated.");
              }
            } else {
              Console.WriteLine("No users found to update.");
            }
              } catch (Exception ex) {
            Console.WriteLine("Failed to get user by ID. Exception says \"{0}\"",
            ex.Message);
              }
        }
Пример #19
0
        /// <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 LabelService.
              LabelService labelService =
              (LabelService) user.GetService(DfpService.v201211.LabelService);

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

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

              // Get labels by statement.
              page = labelService.getLabelsByStatement(filterStatement);

              if (page.results != null) {
            int i = page.startIndex;
            foreach (Label label in page.results) {
              StringBuilder builder = new StringBuilder();
              foreach (LabelType labelType in label.types) {
                builder.AppendFormat("{0} | ", labelType);
              }

              Console.WriteLine("{0}) Label with ID '{1}', name '{2}' and type '{3}' was found.",
                  i, label.id, label.name, builder.ToString().TrimEnd(' ', '|'));
              i++;
            }
              }
              offset += 500;
            } while (offset < page.totalResultSetSize);
              } catch (Exception ex) {
            Console.WriteLine("Failed to get labels. Exception says \"{0}\"", ex.Message);
              }
        }
        /// <summary>
        /// Run the code example.
        /// </summary>
        /// <param name="dfpUser">The DFP user object running the code example.</param>
        public override void Run(DfpUser dfpUser)
        {
            // Get the UserTeamAssociationService.
              UserTeamAssociationService userTeamAssociationService = (UserTeamAssociationService)
              dfpUser.GetService(DfpService.v201211.UserTeamAssociationService);

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

              try {
            do {
              // Create a statement to get all user team associations.
              filterStatement.query = "LIMIT 500 OFFSET " + offset;

              // Get user team associations by statement.
              page = userTeamAssociationService.getUserTeamAssociationsByStatement(filterStatement);

              if (page.results != null) {
            int i = page.startIndex;
            foreach (UserTeamAssociation userTeamAssociation in page.results) {
              Console.WriteLine("{0}) User team association between user with ID \"{1}\" and " +
                  "team with ID \"{2}\" was found.", i, userTeamAssociation.userId,
                  userTeamAssociation.teamId);
              i++;
            }
              }

              offset += 500;
            } while (offset < page.totalResultSetSize);

            Console.WriteLine("Number of results found: {0}." + page.totalResultSetSize);
              } catch (Exception ex) {
            Console.WriteLine("Failed to get user team associations. 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)
        {
            // Create the CreativeWrapperService.
              CreativeWrapperService creativeWrapperService = (CreativeWrapperService) user.GetService(
              DfpService.v201211.CreativeWrapperService);

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

              try {
            do {
              // Create a Statement to get all creative wrappers.
              statement.query = string.Format("LIMIT 500 OFFSET {0}", offset);

              // Get creative wrappers by Statement.
              page = creativeWrapperService.getCreativeWrappersByStatement(statement);

              if (page.results != null && page.results.Length > 0) {
            int i = page.startIndex;
            foreach (CreativeWrapper wrapper in page.results) {
              Console.WriteLine("Creative wrapper with ID \'{0}\' applying to label \'{1}\' with " +
                "status \'{2}\' was found.", wrapper.id, wrapper.labelId, wrapper.status);
              i++;
            }
              }

              offset += 500;
            } while (offset < page.totalResultSetSize);

            Console.WriteLine("Number of results found: {0}", page.totalResultSetSize);
              } catch (Exception ex) {
            Console.WriteLine("Failed to get active creative wrappers. 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 PlacementService.
              PlacementService placementService =
              (PlacementService) user.GetService(DfpService.v201211.PlacementService);

              // Sets defaults for page and Statement.
              PlacementPage page = new PlacementPage();
              Statement statement = new Statement();
              int offset = 0;

              try {
            do {
              // Create a Statement to get all ad units.
              statement.query = string.Format("LIMIT 500 OFFSET {0}", offset);

              // Get ad units by Statement.
              page = placementService.getPlacementsByStatement(statement);

              if (page.results != null && page.results.Length > 0) {
            int i = page.startIndex;
            foreach (Placement placement in page.results) {
              Console.WriteLine("{0}) Placement with ID = '{1}' and name = '{2}' was found.",
                  i, placement.id, placement.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 placements. 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 LineItemService.
              LineItemService lineItemService =
              (LineItemService) user.GetService(DfpService.v201211.LineItemService);

              // Sets defaults for page and Statement.
              LineItemPage page = new LineItemPage();
              Statement statement = new Statement();
              int offset = 0;
              try {
            do {
              // Create a Statement to get all line items.
              statement.query = string.Format("LIMIT 500 OFFSET {0}", offset);

              // Get line items by Statement.
              page = lineItemService.getLineItemsByStatement(statement);

              if (page.results != null && page.results.Length > 0) {
            int i = page.startIndex;
            foreach (LineItemSummary lineItem in page.results) {
              Console.WriteLine("{0}) Line item with ID = '{1}', belonging to order ID ='{2}'" +
                  " , and named '{3}' was found.", i, lineItem.id, lineItem.orderId,
                  lineItem.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 line items. Exception says \"{0}\"",
            ex.Message);
              }
        }
        /// <summary>
        /// Run the sample code.
        /// </summary>
        /// <param name="user">The DFP user object running the code example.</param>
        public override void Run(DfpUser user)
        {
            // Get the InventoryService.
              InventoryService inventoryService =
              (InventoryService) user.GetService(DfpService.v201211.InventoryService);

              // Create a statement to get all ad units.
              Statement statement = new Statement();
              statement.query = "LIMIT 500";

              try {
            // Get ad units by statement.
            AdUnitPage page = inventoryService.getAdUnitsByStatement(statement);

            if (page.results != null) {
              // Update each local ad unit object by enabling AdSense.
              foreach (AdUnit adUnit in page.results) {
            adUnit.inheritedAdSenseSettings.value.adSenseEnabled = true;
              }

              // Update the ad units on the server.
              AdUnit[] updatedAdUnits = inventoryService.updateAdUnits(page.results);

              if (updatedAdUnits != null) {
            foreach (AdUnit adUnit in updatedAdUnits) {
              Console.WriteLine("Ad unit with ID \"{0}\", name \"{1}\", and is AdSense enabled " +
                  "\"{2}\" was updated.", adUnit.id, adUnit.name,
                  adUnit.inheritedAdSenseSettings.value.adSenseEnabled);
            }
              } else {
            Console.WriteLine("No ad units updated.");
              }
            }
              } catch (Exception ex) {
            Console.WriteLine("Failed to update ad units. 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 LineItemCreativeAssociationService.
              LineItemCreativeAssociationService licaService = (LineItemCreativeAssociationService)
              user.GetService(DfpService.v201211.LineItemCreativeAssociationService);

              // Sets defaults for page and Statement.
              LineItemCreativeAssociationPage page = new LineItemCreativeAssociationPage();
              Statement statement = new Statement();
              int offset = 0;

              try {
            do {
              // Create a Statement to get all LICAs.
              statement.query = string.Format("LIMIT 500 OFFSET {0}", offset);

              // Get LICAs by Statement.
              page = licaService.getLineItemCreativeAssociationsByStatement(statement);

              if (page.results != null && page.results.Length > 0) {
            int i = page.startIndex;
            foreach (LineItemCreativeAssociation lica in page.results) {
              Console.WriteLine("{0}) LICA with line item ID = '{1}', creative ID ='{2}' and " +
                  "status ='{3}' was found.", i, lica.lineItemId, lica.creativeId,
                  lica.status);
              i++;
            }
              }

              offset += 500;
            } while (page.results != null && page.results.Length == 500);

            Console.WriteLine("Number of results found: {0}", page.totalResultSetSize);
              } catch (Exception ex) {
            Console.WriteLine("Failed to get all LICAs. Exception says \"{0}\"", ex.Message);
              }
        }
        public void TestStatementBuilderBlankStatement()
        {
            StatementBuilder statementBuilder = new StatementBuilder();

              Statement expectedStatement = new Statement();
              expectedStatement.query = "";
              expectedStatement.values = new String_ValueMapEntry[0];

              Assert.True(StatementsAreEqual(expectedStatement,
                                     statementBuilder.ToStatement()));
        }
 private static bool StatementsAreEqual(Statement s1, Statement s2)
 {
     // Assumes both Statements are non-null and have non-null properties
       if (String.Compare(s1.query, s2.query, true) != 0) {
     return false;
       }
       if (s1.values.Length != s2.values.Length) {
     return false;
       }
       // Assumes Statement values are in the same order
       for (int i = 0; i < s1.values.Length; i++) {
     if (!StringValueMapEntriesAreEqual(s1.values[i], s2.values[i])) {
       return false;
     }
       }
       return true;
 }
        public void TestStatementBuilderIncludesKeywordPrefix()
        {
            StatementBuilder statementBuilder = new StatementBuilder()
              .Where("WHEREWITHALL = 1");

              Statement expectedStatement = new Statement();
              expectedStatement.query = "WHERE WHEREWITHALL = 1";
              expectedStatement.values = new String_ValueMapEntry[0];

              Assert.True(StatementsAreEqual(expectedStatement,
            statementBuilder.ToStatement()));
        }
    /// <summary>
    /// Gets all ad units for this user.
    /// </summary>
    /// <param name="user">The DfpUser to get the ad units for.</param>
    /// <returns>All ad units for this user.</returns>
    private static AdUnit[] GetAllAdUnits(DfpUser user) {
      // Create list to hold all ad units.
      List<AdUnit> adUnits = new List<AdUnit>();

      // Get InventoryService.
      InventoryService inventoryService =
          (InventoryService) user.GetService(DfpService.v201211.InventoryService);

      // Sets defaults for page and Statement.
      AdUnitPage page = new AdUnitPage();
      Statement statement = new Statement();
      int offset = 0;

      do {
        // Create a Statement to get all ad units.
        statement.query = string.Format("LIMIT 500 OFFSET {0}", offset);

        // Get ad units by Statement.
        page = inventoryService.getAdUnitsByStatement(statement);

        if (page.results != null && page.results.Length > 0) {
          adUnits.AddRange(page.results);
        }
        offset += 500;
      } while (page.results != null && page.results.Length == 500);
      return adUnits.ToArray();
    }
    /// <summary>
    /// Finds the root ad unit for the user.
    /// </summary>
    /// <param name="user">The DfpUser to get the root ad unit for.</param>
    /// <returns>The ad unit representing the root ad unit or null if one
    /// is not found.</returns>
    private static AdUnit FindRootAdUnit(DfpUser user) {
      // Get InventoryService.
      InventoryService inventoryService =
          (InventoryService) user.GetService(DfpService.v201211.InventoryService);

      // Create a Statement to only select the root ad unit.
      Statement statement = new Statement();
      statement.query = "WHERE parentId IS NULL LIMIT 500";

      // Get ad units by Statement.
      AdUnitPage page = inventoryService.getAdUnitsByStatement(statement);

      if (page.results != null && page.results.Length > 0) {
        return page.results[0];
      }
      return null;
    }