public void TestPerformLineItemAction()
        {
            Statement statement = new Statement();

            statement.query = string.Format("WHERE orderId = '{0}' and status = '{1}'",
                                            orderId, ComputedStatus.INACTIVE);

            ActivateLineItems action = new ActivateLineItems();
            UpdateResult      result = null;

            Assert.DoesNotThrow(delegate() {
                result = lineItemService.performLineItemAction(action, statement);
            });

            Assert.NotNull(result);
        }
    /// <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.v201306.LineItemService);

      // Set the ID of the order to get line items from.
      long orderId = long.Parse(_T("INSERT_ORDER_ID_HERE"));

      // Create Statement text to select approved line items from a given order.
      string statementText = "WHERE orderId = :orderId and status = :status LIMIT 500";
      Statement statement = new StatementBuilder("").AddValue("orderId", orderId).
          AddValue("status", ComputedStatus.NEEDS_CREATIVES.ToString()).ToStatement();

      // Set defaults for page and offset.
      LineItemPage page = new LineItemPage();
      int offset = 0;
      int i = 0;
      List<string> lineItemIds = new List<string>();

      try {
        do {
          // Create a Statement to page through approved line items.
          statement.query = string.Format("{0} OFFSET {1}", statementText, offset);

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

          if (page.results != null && page.results.Length > 0) {
            foreach (LineItemSummary lineItem in page.results) {
              // Archived line items cannot be activated.
              if (!lineItem.isArchived) {
                Console.WriteLine("{0}) Line item with ID ='{1}', belonging to order ID ='{2}' " +
                    "and name ='{2}' will be activated.", i, lineItem.id, lineItem.orderId,
                    lineItem.name);
                lineItemIds.Add(lineItem.id.ToString());
                i++;
              }
            }
          }

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

        Console.WriteLine("Number of line items to be activated: {0}", lineItemIds.Count);

        if (lineItemIds.Count > 0) {
          // Create action Statement.
          statement = new StatementBuilder(
              string.Format("WHERE id IN ({0})", string.Join(",", lineItemIds.ToArray()))).
              ToStatement();

          // Create action.
          ActivateLineItems action = new ActivateLineItems();

          // Perform action.
          UpdateResult result = lineItemService.performLineItemAction(action, statement);

          // Display results.
          if (result != null && result.numChanges > 0) {
            Console.WriteLine("Number of line items activated: {0}", result.numChanges);
          } else {
            Console.WriteLine("No line items were activated.");
          }
        }
      } catch (Exception ex) {
        Console.WriteLine("Failed to activate line items. Exception says \"{0}\"",
            ex.Message);
      }
    }
    public void TestPerformLineItemAction() {
      Statement statement = new Statement();
      statement.query = string.Format("WHERE orderId = '{0}' and status = '{1}'",
          orderId, ComputedStatus.NEEDS_CREATIVES);

      ActivateLineItems action = new ActivateLineItems();
      UpdateResult result = null;

      Assert.DoesNotThrow(delegate() {
        result = lineItemService.performLineItemAction(action, statement);
      });

      Assert.NotNull(result);
    }
        /// <summary>
        /// Run the code example.
        /// </summary>
        public void Run(DfpUser user)
        {
            using (LineItemService lineItemService =
                       (LineItemService)user.GetService(DfpService.v201802.LineItemService)) {
                // Set the ID of the order to get line items from.
                long orderId = long.Parse(_T("INSERT_ORDER_ID_HERE"));

                // Create statement to select approved line items from a given order.
                StatementBuilder statementBuilder = new StatementBuilder()
                                                    .Where("orderId = :orderId and status = :status")
                                                    .AddValue("orderId", orderId)
                                                    .AddValue("status", ComputedStatus.INACTIVE.ToString());

                // Set default for page.
                LineItemPage  page        = new LineItemPage();
                List <string> lineItemIds = new List <string>();

                try {
                    do
                    {
                        // Get line items by statement.
                        page = lineItemService.getLineItemsByStatement(statementBuilder.ToStatement());

                        if (page.results != null)
                        {
                            int i = page.startIndex;
                            foreach (LineItemSummary lineItem in page.results)
                            {
                                // Archived line items cannot be activated.
                                if (!lineItem.isArchived)
                                {
                                    Console.WriteLine("{0}) Line item with ID ='{1}', belonging to order " +
                                                      "ID ='{2}' and name ='{3}' will be activated.",
                                                      i, lineItem.id, lineItem.orderId, lineItem.name);
                                    lineItemIds.Add(lineItem.id.ToString());
                                    i++;
                                }
                            }
                        }

                        statementBuilder.IncreaseOffsetBy(StatementBuilder.SUGGESTED_PAGE_LIMIT);
                    } while (statementBuilder.GetOffset() < page.totalResultSetSize);


                    Console.WriteLine("Number of line items to be activated: {0}", lineItemIds.Count);

                    if (lineItemIds.Count > 0)
                    {
                        // Modify statement.
                        statementBuilder.RemoveLimitAndOffset();

                        // Create action.
                        ActivateLineItems action = new ActivateLineItems();

                        // Perform action.
                        UpdateResult result = lineItemService.performLineItemAction(action,
                                                                                    statementBuilder.ToStatement());

                        // Display results.
                        if (result != null && result.numChanges > 0)
                        {
                            Console.WriteLine("Number of line items activated: {0}", result.numChanges);
                        }
                        else
                        {
                            Console.WriteLine("No line items were activated.");
                        }
                    }
                } catch (Exception e) {
                    Console.WriteLine("Failed to activate line items. Exception says \"{0}\"",
                                      e.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.v201411.LineItemService);

      // Set the ID of the order to get line items from.
      long orderId = long.Parse(_T("INSERT_ORDER_ID_HERE"));

      // Create statement to select approved line items from a given order.
      StatementBuilder statementBuilder = new StatementBuilder()
          .Where("orderId = :orderId and status = :status")
          .AddValue("orderId", orderId)
          .AddValue("status", ComputedStatus.INACTIVE.ToString());

      // Set default for page.
      LineItemPage page = new LineItemPage();
      List<string> lineItemIds = new List<string>();

      try {
        do {
          // Get line items by statement.
          page = lineItemService.getLineItemsByStatement(statementBuilder.ToStatement());

          if (page.results != null && page.results.Length > 0) {
            int i = page.startIndex;
            foreach (LineItemSummary lineItem in page.results) {
              // Archived line items cannot be activated.
              if (!lineItem.isArchived) {
                Console.WriteLine("{0}) Line item with ID ='{1}', belonging to order ID ='{2}' " +
                    "and name ='{2}' will be activated.", i, lineItem.id, lineItem.orderId,
                    lineItem.name);
                lineItemIds.Add(lineItem.id.ToString());
                i++;
              }
            }
          }

          statementBuilder.IncreaseOffsetBy(StatementBuilder.SUGGESTED_PAGE_LIMIT);
        } while (statementBuilder.GetOffset() < page.totalResultSetSize);


        Console.WriteLine("Number of line items to be activated: {0}", lineItemIds.Count);

        if (lineItemIds.Count > 0) {
          // Modify statement.
          statementBuilder.RemoveLimitAndOffset();

          // Create action.
          ActivateLineItems action = new ActivateLineItems();

          // Perform action.
          UpdateResult result = lineItemService.performLineItemAction(action,
              statementBuilder.ToStatement());

          // Display results.
          if (result != null && result.numChanges > 0) {
            Console.WriteLine("Number of line items activated: {0}", result.numChanges);
          } else {
            Console.WriteLine("No line items were activated.");
          }
        }
      } catch (Exception ex) {
        Console.WriteLine("Failed to activate line items. Exception says \"{0}\"",
            ex.Message);
      }
    }
Пример #6
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 LineItemService.
            LineItemService lineItemService =
                (LineItemService)user.GetService(DfpService.v201311.LineItemService);

            // Set the ID of the order to get line items from.
            long orderId = long.Parse(_T("INSERT_ORDER_ID_HERE"));

            // Create Statement text to select approved line items from a given order.
            string    statementText = "WHERE orderId = :orderId and status = :status LIMIT 500";
            Statement statement     = new StatementBuilder("").AddValue("orderId", orderId).
                                      AddValue("status", ComputedStatus.NEEDS_CREATIVES.ToString()).ToStatement();

            // Set defaults for page and offset.
            LineItemPage  page        = new LineItemPage();
            int           offset      = 0;
            int           i           = 0;
            List <string> lineItemIds = new List <string>();

            try {
                do
                {
                    // Create a Statement to page through approved line items.
                    statement.query = string.Format("{0} OFFSET {1}", statementText, offset);

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

                    if (page.results != null && page.results.Length > 0)
                    {
                        foreach (LineItemSummary lineItem in page.results)
                        {
                            // Archived line items cannot be activated.
                            if (!lineItem.isArchived)
                            {
                                Console.WriteLine("{0}) Line item with ID ='{1}', belonging to order ID ='{2}' " +
                                                  "and name ='{2}' will be activated.", i, lineItem.id, lineItem.orderId,
                                                  lineItem.name);
                                lineItemIds.Add(lineItem.id.ToString());
                                i++;
                            }
                        }
                    }

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

                Console.WriteLine("Number of line items to be activated: {0}", lineItemIds.Count);

                if (lineItemIds.Count > 0)
                {
                    // Create action Statement.
                    statement = new StatementBuilder(
                        string.Format("WHERE id IN ({0})", string.Join(",", lineItemIds.ToArray()))).
                                ToStatement();

                    // Create action.
                    ActivateLineItems action = new ActivateLineItems();

                    // Perform action.
                    UpdateResult result = lineItemService.performLineItemAction(action, statement);

                    // Display results.
                    if (result != null && result.numChanges > 0)
                    {
                        Console.WriteLine("Number of line items activated: {0}", result.numChanges);
                    }
                    else
                    {
                        Console.WriteLine("No line items were activated.");
                    }
                }
            } catch (Exception ex) {
                Console.WriteLine("Failed to activate line items. Exception says \"{0}\"",
                                  ex.Message);
            }
        }