예제 #1
0
        /// <summary>
        /// Run the code example.
        /// </summary>
        /// <param name="dfpUser">The DFP user object running the code example.</param>
        public void Run(DfpUser dfpUser)
        {
            using (UserTeamAssociationService userTeamAssociationService = (UserTeamAssociationService)
                                                                           dfpUser.GetService(DfpService.v201802.UserTeamAssociationService)) {
                // Set the user to remove from its teams.
                long userId = long.Parse(_T("INSERT_USER_ID_HERE"));

                // Create filter text to select user team associations by the user ID.
                StatementBuilder statementBuilder = new StatementBuilder()
                                                    .Where("userId = :userId")
                                                    .OrderBy("userId ASC, teamId ASC")
                                                    .Limit(StatementBuilder.SUGGESTED_PAGE_LIMIT)
                                                    .AddValue("userId", userId);

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

                try {
                    do
                    {
                        // Get user team associations by statement.
                        page = userTeamAssociationService.getUserTeamAssociationsByStatement(
                            statementBuilder.ToStatement());

                        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}\" will be deleted.", i, userTeamAssociation.userId,
                                                  userTeamAssociation.teamId);
                                i++;
                            }
                        }

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

                    Console.WriteLine("Number of teams that the user will be removed from: "
                                      + page.totalResultSetSize);

                    if (page.totalResultSetSize > 0)
                    {
                        // Modify statement for action.
                        statementBuilder.RemoveLimitAndOffset();

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

                        // Perform action.
                        UpdateResult result = userTeamAssociationService.performUserTeamAssociationAction(
                            action, statementBuilder.ToStatement());

                        // Display results.
                        if (result != null && result.numChanges > 0)
                        {
                            Console.WriteLine("Number of teams that the user was removed from: "
                                              + result.numChanges);
                        }
                        else
                        {
                            Console.WriteLine("No user team associations were deleted.");
                        }
                    }
                } catch (Exception e) {
                    Console.WriteLine("Failed to delete user team associations. 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 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);
            }
        }
예제 #3
0
        /// <summary>
        /// Run the code example.
        /// </summary>
        public void Run(DfpUser user, long productId)
        {
            // Get the ProductService.
            ProductService productService =
                (ProductService)user.GetService(DfpService.v201611.ProductService);

            // Create statement to select a product template by ID.
            StatementBuilder statementBuilder = new StatementBuilder()
                                                .Where("id = :id")
                                                .OrderBy("id ASC")
                                                .Limit(StatementBuilder.SUGGESTED_PAGE_LIMIT)
                                                .AddValue("id", productId);

            // Set default for page.
            ProductPage page       = new ProductPage();
            List <long> productIds = new List <long>();

            try {
                do
                {
                    // Get products by statement.
                    page = productService.getProductsByStatement(
                        statementBuilder.ToStatement());

                    if (page.results != null)
                    {
                        int i = page.startIndex;
                        foreach (Product product in page.results)
                        {
                            Console.WriteLine("{0}) Product with ID ='{1}' will be published.",
                                              i++, product.id);
                            productIds.Add(product.id);
                        }
                    }

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

                Console.WriteLine("Number of products to be published: {0}", productIds.Count);

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

                    // Create action.
                    Google.Api.Ads.Dfp.v201611.PublishProducts action =
                        new Google.Api.Ads.Dfp.v201611.PublishProducts();

                    // Perform action.
                    UpdateResult result = productService.performProductAction(action,
                                                                              statementBuilder.ToStatement());

                    // Display results.
                    if (result != null && result.numChanges > 0)
                    {
                        Console.WriteLine("Number of products published: {0}", result.numChanges);
                    }
                    else
                    {
                        Console.WriteLine("No products were published.");
                    }
                }
            } catch (Exception e) {
                Console.WriteLine("Failed to publish products. Exception says \"{0}\"",
                                  e.Message);
            }
        }
예제 #4
0
        /// <summary>
        /// Run the code example.
        /// </summary>
        public void Run(AdManagerUser user)
        {
            using (SuggestedAdUnitService suggestedAdUnitService =
                       user.GetService <SuggestedAdUnitService>())
            {
                // Set the number of requests for suggested ad units greater than which to approve.
                long NUMBER_OF_REQUESTS = 50L;

                // Create statement to select all suggested ad units that are highly requested.
                StatementBuilder statementBuilder = new StatementBuilder()
                                                    .Where("numRequests > :numRequests").OrderBy("id ASC")
                                                    .Limit(StatementBuilder.SUGGESTED_PAGE_LIMIT)
                                                    .AddValue("numRequests", NUMBER_OF_REQUESTS);

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

                try
                {
                    do
                    {
                        // Get suggested ad units by statement.
                        page = suggestedAdUnitService.getSuggestedAdUnitsByStatement(
                            statementBuilder.ToStatement());

                        int i = 0;
                        if (page != null && page.results != null)
                        {
                            foreach (SuggestedAdUnit suggestedAdUnit in page.results)
                            {
                                Console.WriteLine(
                                    "{0}) Suggested ad unit with ID \"{1}\", and \"{2}\" will be " +
                                    "approved.", i, suggestedAdUnit.id,
                                    suggestedAdUnit.numRequests);
                                i++;
                            }
                        }

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

                    Console.WriteLine("Number of suggested ad units to be approved: " +
                                      page.totalResultSetSize);

                    // Modify statement for action.
                    statementBuilder.RemoveLimitAndOffset();

                    // Create action.
                    Google.Api.Ads.AdManager.v202005.ApproveSuggestedAdUnits action =
                        new Google.Api.Ads.AdManager.v202005.ApproveSuggestedAdUnits();

                    // Perform action.
                    SuggestedAdUnitUpdateResult result =
                        suggestedAdUnitService.performSuggestedAdUnitAction(action,
                                                                            statementBuilder.ToStatement());

                    // Display results.
                    if (result != null && result.numChanges > 0)
                    {
                        Console.WriteLine("Number of new ad units created: " +
                                          result.newAdUnitIds.Length);
                    }
                    else
                    {
                        Console.WriteLine("No suggested ad units were approved.");
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine(
                        "Failed to approve suggested ad units. Exception says \"{0}\"", e.Message);
                }
            }
        }
예제 #5
0
        /// <summary>
        /// Run the code example.
        /// </summary>
        public void Run(AdManagerUser user)
        {
            using (UserService userService = user.GetService <UserService>())
            {
                // Set the ID of the user to deactivate
                long userId = long.Parse(_T("INSERT_USER_ID_HERE"));

                // Create statement text to select user by id.
                StatementBuilder statementBuilder = new StatementBuilder()
                                                    .Where("id = :userId")
                                                    .OrderBy("id ASC")
                                                    .Limit(1)
                                                    .AddValue("userId", userId);

                // Sets default for page.
                UserPage      page    = new UserPage();
                List <string> userIds = new List <string>();

                try
                {
                    do
                    {
                        // Get users by statement.
                        page = userService.getUsersByStatement(statementBuilder.ToStatement());

                        if (page.results != null)
                        {
                            int i = page.startIndex;
                            foreach (User userResult in page.results)
                            {
                                Console.WriteLine(
                                    "{0}) User with ID = '{1}', email = '{2}', and status = '{3}'" +
                                    " will be deactivated.", i, userResult.id, userResult.email,
                                    userResult.isActive ? "ACTIVE" : "INACTIVE");
                                userIds.Add(userResult.id.ToString());
                                i++;
                            }
                        }

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

                    Console.WriteLine("Number of users to be deactivated: {0}",
                                      page.totalResultSetSize);

                    if (userIds.Count > 0)
                    {
                        // Modify statement for action.
                        statementBuilder.RemoveLimitAndOffset();

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

                        // Perform action.
                        UpdateResult result =
                            userService.performUserAction(action, statementBuilder.ToStatement());

                        // Display results.
                        if (result != null && result.numChanges > 0)
                        {
                            Console.WriteLine(
                                "Number of users deactivated: {0}" + result.numChanges);
                        }
                        else
                        {
                            Console.WriteLine("No users were deactivated.");
                        }
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine("Failed to deactivate users. Exception says \"{0}\"",
                                      e.Message);
                }
            }
        }
        /// <summary>
        /// Handles the Click event of the btnGetUsers control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="eventArgs">The <see cref="System.EventArgs"/> instance containing
        /// the event data.</param>
        protected void OnGetUsersButtonClick(object sender, EventArgs eventArgs)
        {
            ConfigureUserForOAuth();

            try
            {
                // Get the UserService.
                UserService userService = user.GetService <UserService>();

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

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

                DataTable dataTable = new DataTable();
                dataTable.Columns.AddRange(new DataColumn[]
                {
                    new DataColumn("Serial No.", typeof(int)),
                    new DataColumn("User Id", typeof(long)),
                    new DataColumn("Email", typeof(string)),
                    new DataColumn("Role", typeof(string))
                });
                do
                {
                    // Get users by Statement.
                    page = userService.getUsersByStatement(statementBuilder.ToStatement());

                    if (page.results != null && page.results.Length > 0)
                    {
                        int i = page.startIndex;
                        foreach (User usr in page.results)
                        {
                            DataRow dataRow = dataTable.NewRow();
                            dataRow.ItemArray = new object[]
                            {
                                i + 1,
                                usr.id,
                                usr.email,
                                usr.roleName
                            };
                            dataTable.Rows.Add(dataRow);
                            i++;
                        }
                    }

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

                if (dataTable.Rows.Count > 0)
                {
                    UserGrid.DataSource = dataTable;
                    UserGrid.DataBind();
                }
                else
                {
                    Response.Write("No users were found.");
                }
            }
            catch (Exception e)
            {
                Response.Write(string.Format("Failed to get users. Exception says \"{0}\"",
                                             e.Message));
            }
        }
예제 #7
0
        /// <summary>
        /// Run the code example.
        /// </summary>
        /// <param name="user">The DFP user object running the code example.</param>
        public void Run(DfpUser user)
        {
            // Get the WorkflowRequestService.
            WorkflowRequestService workflowRequestService =
                (WorkflowRequestService)user.GetService(DfpService.v201605.WorkflowRequestService);

            // Set the ID of the proposal to approve workflow approval requests for.
            long proposalId = long.Parse(_T("INSERT_PROPOSAL_ID_HERE"));

            // Create a statement to select workflow approval requests for a proposal.
            StatementBuilder statementBuilder = new StatementBuilder()
                                                .Where("WHERE entityId = :entityId and entityType = :entityType and type = :type")
                                                .OrderBy("id ASC")
                                                .Limit(StatementBuilder.SUGGESTED_PAGE_LIMIT)
                                                .AddValue("entityId", proposalId)
                                                .AddValue("entityType", WorkflowEntityType.PROPOSAL.ToString())
                                                .AddValue("type", WorkflowRequestType.WORKFLOW_APPROVAL_REQUEST.ToString());

            // Set default for page.
            WorkflowRequestPage page = new WorkflowRequestPage();
            List <long>         worflowRequestIds = new List <long>();

            try {
                do
                {
                    // Get workflow requests by statement.
                    page = workflowRequestService.getWorkflowRequestsByStatement(
                        statementBuilder.ToStatement());

                    if (page.results != null)
                    {
                        int i = page.startIndex;
                        foreach (WorkflowRequest workflowRequest in page.results)
                        {
                            Console.WriteLine("{0})  Workflow approval request with ID '{1}' will be approved.",
                                              i++, workflowRequest.id);
                            worflowRequestIds.Add(workflowRequest.id);
                        }
                    }

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

                Console.WriteLine("Number of workflow approval requests to be approved: {0}",
                                  worflowRequestIds.Count);

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

                    // Create action.
                    Google.Api.Ads.Dfp.v201605.ApproveWorkflowApprovalRequests action =
                        new Google.Api.Ads.Dfp.v201605.ApproveWorkflowApprovalRequests();

                    // Add a comment to the approval.
                    action.comment = "The proposal looks good to me. Approved.";

                    // Perform action.
                    UpdateResult result = workflowRequestService.performWorkflowRequestAction(action,
                                                                                              statementBuilder.ToStatement());

                    // Display results.
                    if (result != null && result.numChanges > 0)
                    {
                        Console.WriteLine("Number of workflow requests approved: {0}", result.numChanges);
                    }
                    else
                    {
                        Console.WriteLine("No workflow requests were approved.");
                    }
                }
            } catch (Exception e) {
                Console.WriteLine("Failed to archive workflow requests. Exception says \"{0}\"",
                                  e.Message);
            }
        }
예제 #8
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.v201403.LineItemCreativeAssociationService);

            // Set the line item to get LICAs by.
            long lineItemId = long.Parse(_T("INSERT_LINE_ITEM_ID_HERE"));

            // Create a Statement to page through LICAs.
            StatementBuilder statementBuilder = new StatementBuilder()
                                                .Where("lineItemId = :lineItemId")
                                                .OrderBy("lineItemId ASC, creativeId ASC")
                                                .Limit(StatementBuilder.SUGGESTED_PAGE_LIMIT)
                                                .AddValue("lineItemId", lineItemId);

            // Set default for page.
            LineItemCreativeAssociationPage page = new LineItemCreativeAssociationPage();
            List <string> creativeIds            = new List <string>();

            try {
                do
                {
                    // Get LICAs by Statement.
                    page = licaService.getLineItemCreativeAssociationsByStatement(
                        statementBuilder.ToStatement());

                    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}' will be activated.", i, lica.lineItemId, lica.creativeId,
                                              lica.status);
                            i++;
                            creativeIds.Add(lica.creativeId.ToString());
                        }
                    }

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

                Console.WriteLine("Number of LICAs to be activated: {0}", creativeIds.Count);

                if (creativeIds.Count > 0)
                {
                    // Modify statement for action.
                    statementBuilder.RemoveLimitAndOffset();

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

                    // Perform action.
                    UpdateResult result = licaService.performLineItemCreativeAssociationAction(action,
                                                                                               statementBuilder.ToStatement());

                    // Display results.
                    if (result != null && result.numChanges > 0)
                    {
                        Console.WriteLine("Number of LICAs activated: {0}", result.numChanges);
                    }
                    else
                    {
                        Console.WriteLine("No LICAs were activated.");
                    }
                }
            } catch (Exception ex) {
                Console.WriteLine("Failed to activate LICAs. Exception says \"{0}\"", ex.Message);
            }
        }
        /// <summary>
        /// Run the code example.
        /// </summary>
        public void Run(AdManagerUser user)
        {
            using (CreativeWrapperService creativeWrapperService =
                       user.GetService <CreativeWrapperService>())
            {
                long labelId = long.Parse(_T("INSERT_CREATIVE_WRAPPER_LABEL_ID_HERE"));

                try
                {
                    // Create a query to select the active creative wrapper for the given
                    // label.
                    StatementBuilder statementBuilder = new StatementBuilder()
                                                        .Where("labelId = :labelId AND status = :status").OrderBy("id ASC")
                                                        .Limit(StatementBuilder.SUGGESTED_PAGE_LIMIT)
                                                        .AddValue("status", CreativeWrapperStatus.ACTIVE.ToString())
                                                        .AddValue("labelId", labelId);

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

                    do
                    {
                        page = creativeWrapperService.getCreativeWrappersByStatement(
                            statementBuilder.ToStatement());
                        CreativeWrapper[] creativeWrappers = page.results;
                        if (creativeWrappers != null)
                        {
                            foreach (CreativeWrapper wrapper in creativeWrappers)
                            {
                                Console.WriteLine(
                                    "Creative wrapper with ID '{0}' applying to label " +
                                    "'{1}' with status '{2}' will be deactivated.", wrapper.id,
                                    wrapper.labelId, wrapper.status);
                            }
                        }

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

                    Console.WriteLine("Number of creative wrappers to be deactivated: {0}",
                                      page.totalResultSetSize);

                    // Modify statement for action.
                    statementBuilder.RemoveLimitAndOffset();

                    // Perform action.
                    CreativeWrapperAction action = new DeactivateCreativeWrappers();
                    UpdateResult          result =
                        creativeWrapperService.performCreativeWrapperAction(action,
                                                                            statementBuilder.ToStatement());

                    // Display results.
                    if (result.numChanges > 0)
                    {
                        Console.WriteLine("Number of creative wrappers deactivated: {0}",
                                          result.numChanges);
                    }
                    else
                    {
                        Console.WriteLine("No creative wrappers were deactivated.");
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine("Failed to create creative wrappers. 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 CustomTargetingService.
            CustomTargetingService customTargetingService =
                (CustomTargetingService)user.GetService(DfpService.v201411.CustomTargetingService);

            // Create a statement to get all custom targeting keys.
            StatementBuilder keyStatementBuilder = new StatementBuilder()
                                                   .OrderBy("id ASC")
                                                   .Limit(StatementBuilder.SUGGESTED_PAGE_LIMIT);

            // Set default for page.
            CustomTargetingKeyPage keyPage = new CustomTargetingKeyPage();

            try {
                do
                {
                    // Get custom targeting keys by statement.
                    keyPage = customTargetingService.getCustomTargetingKeysByStatement(
                        keyStatementBuilder.ToStatement());

                    if (keyPage.results != null)
                    {
                        int i = keyPage.startIndex;
                        foreach (CustomTargetingKey key in keyPage.results)
                        {
                            Console.WriteLine("{0}) Custom targeting key with ID \"{1}\", name \"{2}\", " +
                                              "display name \"{3}\", and type \"{4}\" was found.", i, key.id, key.name,
                                              key.displayName, key.type);

                            // Create a statement to get all custom targeting values for a
                            // custom targeting key (required) by its ID.
                            StatementBuilder valueStatementBuilder = new StatementBuilder()
                                                                     .Where("customTargetingKeyId = :customTargetingKeyId")
                                                                     .OrderBy("id ASC")
                                                                     .Limit(StatementBuilder.SUGGESTED_PAGE_LIMIT)
                                                                     .AddValue("customTargetingKeyId", key.id);

                            // Set default for page.
                            CustomTargetingValuePage valuePage = new CustomTargetingValuePage();

                            do
                            {
                                // Get custom targeting values by statement.
                                valuePage = customTargetingService.getCustomTargetingValuesByStatement(
                                    valueStatementBuilder.ToStatement());

                                if (valuePage.results != null)
                                {
                                    int j = valuePage.startIndex;
                                    foreach (CustomTargetingValue value in valuePage.results)
                                    {
                                        Console.WriteLine("\t{0}) Custom targeting value with ID \"{1}\", name " +
                                                          "\"{2}\", and display name \"{3}\" was found.", j, value.id, value.name,
                                                          value.displayName);
                                        j++;
                                    }
                                }
                                valueStatementBuilder.IncreaseOffsetBy(StatementBuilder.SUGGESTED_PAGE_LIMIT);
                            } while (valueStatementBuilder.GetOffset() < valuePage.totalResultSetSize);
                            i++;
                        }
                    }
                    keyStatementBuilder.IncreaseOffsetBy(StatementBuilder.SUGGESTED_PAGE_LIMIT);
                } while (keyStatementBuilder.GetOffset() < keyPage.totalResultSetSize);
                Console.WriteLine("Number of results found: {0}", keyPage.totalResultSetSize);
            } catch (Exception e) {
                Console.WriteLine("Failed to get custom targeting keys and the values. Exception " +
                                  "says \"{0}\"", e.Message);
            }
        }
        /// <summary>
        /// Run the code example.
        /// </summary>
        public void Run(DfpUser user)
        {
            using (WorkflowRequestService proposalLineItemService =
                       (WorkflowRequestService)user.GetService(DfpService.v201805.WorkflowRequestService))
            {
                // Set the ID of the proposal to trigger workflow external conditions for.c
                long proposalId = long.Parse(_T("INSERT_PROPOSAL_ID_HERE"));

                // Create a statement to select workflow external condition requests for a proposal.
                StatementBuilder statementBuilder = new StatementBuilder()
                                                    .Where("entityId = :entityId and entityType = :entityType and type = :type")
                                                    .OrderBy("id ASC")
                                                    .Limit(StatementBuilder.SUGGESTED_PAGE_LIMIT)
                                                    .AddValue("entityId", proposalId)
                                                    .AddValue("entityType", WorkflowEntityType.PROPOSAL.ToString())
                                                    .AddValue("type",
                                                              WorkflowRequestType.WORKFLOW_EXTERNAL_CONDITION_REQUEST.ToString());

                // Set default for page.
                WorkflowRequestPage page = new WorkflowRequestPage();
                List <long>         workflowRequestIds = new List <long>();

                try
                {
                    do
                    {
                        // Get workflow requests by statement.
                        page = proposalLineItemService.getWorkflowRequestsByStatement(
                            statementBuilder.ToStatement());

                        if (page.results != null)
                        {
                            int i = page.startIndex;
                            foreach (WorkflowRequest workflowRequest in page.results)
                            {
                                Console.WriteLine(
                                    "{0}) Workflow external condition request with ID '{1}'" +
                                    " for {2} with ID '{3}' will be triggered.", i++,
                                    workflowRequest.id, workflowRequest.entityType.ToString(),
                                    workflowRequest.entityId);
                                workflowRequestIds.Add(workflowRequest.id);
                            }
                        }

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

                    Console.WriteLine(
                        "Number of workflow external condition requests to be triggered: {0}",
                        workflowRequestIds.Count);

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

                        // Create action.
                        Google.Api.Ads.Dfp.v201805.TriggerWorkflowExternalConditionRequests action =
                            new Google.Api.Ads.Dfp.v201805.
                            TriggerWorkflowExternalConditionRequests();

                        // Perform action.
                        UpdateResult result =
                            proposalLineItemService.performWorkflowRequestAction(action,
                                                                                 statementBuilder.ToStatement());

                        // Display results.
                        if (result != null && result.numChanges > 0)
                        {
                            Console.WriteLine(
                                "Number of workflow external condition requests triggered: {0}",
                                result.numChanges);
                        }
                        else
                        {
                            Console.WriteLine(
                                "No workflow external condition requests were triggered.");
                        }
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine(
                        "Failed to tirgger workflow external condition requests. Exception " +
                        "says \"{0}\"", e.Message);
                }
            }
        }
        /// <summary>
        /// Run the code example.
        /// </summary>
        public void Run(DfpUser user, long proposalId)
        {
            // Get the ProposalService.
            ProposalService proposalService =
                (ProposalService)user.GetService(DfpService.v201705.ProposalService);

            // Create statement to select the proposal.
            StatementBuilder statementBuilder = new StatementBuilder()
                                                .Where("id = :id")
                                                .OrderBy("id ASC")
                                                .Limit(1)
                                                .AddValue("id", proposalId);

            // Set default for page.
            ProposalPage  page        = new ProposalPage();
            List <string> proposalIds = new List <string>();
            int           i           = 0;

            try {
                do
                {
                    // Get proposals by statement.
                    page = proposalService.getProposalsByStatement(statementBuilder.ToStatement());

                    if (page.results != null)
                    {
                        foreach (Proposal proposal in page.results)
                        {
                            Console.WriteLine("{0}) Proposal with ID = '{1}', name = '{2}', and status ='{3}' " +
                                              "will be sent to Marketplace for buyer acceptance.",
                                              i++,
                                              proposal.id,
                                              proposal.name,
                                              proposal.status);
                            proposalIds.Add(proposal.id.ToString());
                        }
                    }

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

                Console.WriteLine("Number of proposals to be sent to Marketplace: {0}", proposalIds.Count);

                if (proposalIds.Count > 0)
                {
                    // Modify statement for action.
                    statementBuilder.RemoveLimitAndOffset();

                    // Create action.
                    Google.Api.Ads.Dfp.v201705.RequestBuyerAcceptance action =
                        new Google.Api.Ads.Dfp.v201705.RequestBuyerAcceptance();

                    // Perform action.
                    UpdateResult result = proposalService.performProposalAction(action,
                                                                                statementBuilder.ToStatement());

                    // Display results.
                    if (result != null && result.numChanges > 0)
                    {
                        Console.WriteLine("Number of proposals that were sent to Marketplace: {0}",
                                          result.numChanges);
                    }
                    else
                    {
                        Console.WriteLine("No proposals were sent to Marketplace.");
                    }
                }
            } catch (Exception e) {
                Console.WriteLine("Failed to send proposals to Marketplace. Exception says \"{0}\"",
                                  e.Message);
            }
        }
        /// <summary>
        /// Run the code example.
        /// </summary>
        public void Run(AdManagerUser user)
        {
            using (InventoryService inventoryService = user.GetService <InventoryService>())
            {
                // Set the ID of the ad unit to deactivate.
                int adUnitId = int.Parse(_T("INSERT_AD_UNIT_ID_HERE"));

                // Create a statement to select the ad unit.
                StatementBuilder statementBuilder = new StatementBuilder()
                                                    .Where("id = :id")
                                                    .OrderBy("id ASC")
                                                    .Limit(1)
                                                    .AddValue("id", adUnitId);

                // Set default for page.
                AdUnitPage    page      = new AdUnitPage();
                List <string> adUnitIds = new List <string>();

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

                        if (page.results != null)
                        {
                            int i = page.startIndex;
                            foreach (AdUnit adUnit in page.results)
                            {
                                Console.WriteLine(
                                    "{0}) Ad unit with ID ='{1}', name = {2} and status = {3} " +
                                    "will be deactivated.",
                                    i, adUnit.id, adUnit.name, adUnit.status);
                                adUnitIds.Add(adUnit.id);
                                i++;
                            }
                        }

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

                    Console.WriteLine("Number of ad units to be deactivated: {0}", adUnitIds.Count);

                    // Modify statement for action.
                    statementBuilder.RemoveLimitAndOffset();

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

                    // Perform action.
                    UpdateResult result =
                        inventoryService.performAdUnitAction(action,
                                                             statementBuilder.ToStatement());

                    // Display results.
                    if (result != null && result.numChanges > 0)
                    {
                        Console.WriteLine("Number of ad units deactivated: {0}", result.numChanges);
                    }
                    else
                    {
                        Console.WriteLine("No ad units were deactivated.");
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine("Failed to deactivate ad units. 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.v201408.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.NEEDS_CREATIVES.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);
            }
        }
예제 #15
0
        /// <summary>
        /// Run the code example.
        /// </summary>
        public void Run(DfpUser user)
        {
            // Get the ProductPackageService.
            ProductPackageService productPackageService =
                (ProductPackageService)user.GetService(DfpService.v201611.ProductPackageService);

            // Set the ID of the product package.
            long productPackageId = long.Parse(_T("INSERT_PRODUCT_PACKAGE_ID_HERE"));

            // Create statement to select the product package.
            StatementBuilder statementBuilder = new StatementBuilder()
                                                .Where("id = :id")
                                                .OrderBy("id ASC")
                                                .Limit(1)
                                                .AddValue("id", productPackageId);

            // Set default for page.
            ProductPackagePage page = new ProductPackagePage();
            List <string>      productPackageIds = new List <string>();
            int i = 0;

            try {
                do
                {
                    // Get product packages by statement.
                    page =
                        productPackageService.getProductPackagesByStatement(statementBuilder.ToStatement());

                    if (page.results != null)
                    {
                        foreach (ProductPackage productPackage in page.results)
                        {
                            Console.WriteLine("{0}) Product package with ID = '{1}', name = '{2}', and status " +
                                              "='{3}' will be activated.", i++, productPackage.id, productPackage.name,
                                              productPackage.status);
                            productPackageIds.Add(productPackage.id.ToString());
                        }
                    }

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

                Console.WriteLine("Number of product packages to be activated: {0}",
                                  productPackageIds.Count);

                if (productPackageIds.Count > 0)
                {
                    // Modify statement for action.
                    statementBuilder.RemoveLimitAndOffset();

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

                    // Perform action.
                    UpdateResult result = productPackageService.performProductPackageAction(action,
                                                                                            statementBuilder.ToStatement());

                    // Display results.
                    if (result != null && result.numChanges > 0)
                    {
                        Console.WriteLine("Number of product packages activated: {0}", result.numChanges);
                    }
                    else
                    {
                        Console.WriteLine("No product packages were activated.");
                    }
                }
            } catch (Exception e) {
                Console.WriteLine("Failed to activate product packages. Exception says \"{0}\"",
                                  e.Message);
            }
        }
예제 #16
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 ProposalService.
            ProposalService proposalService =
                (ProposalService)user.GetService(DfpService.v201605.ProposalService);

            // Set the ID of the proposal.
            long proposalId = long.Parse(_T("INSERT_PROPOSAL_ID_HERE"));

            // Create statement to select the proposal.
            StatementBuilder statementBuilder = new StatementBuilder()
                                                .Where("id = :id")
                                                .OrderBy("id ASC")
                                                .Limit(1)
                                                .AddValue("id", proposalId);

            // Set default for page.
            ProposalPage  page        = new ProposalPage();
            List <string> proposalIds = new List <string>();
            int           i           = 0;

            try {
                do
                {
                    // Get proposals by statement.
                    page = proposalService.getProposalsByStatement(statementBuilder.ToStatement());

                    if (page.results != null && page.results.Length > 0)
                    {
                        foreach (Proposal proposal in page.results)
                        {
                            Console.WriteLine("{0}) Proposal with ID = '{1}', name = '{2}', and status ='{3}' " +
                                              "will be approved.", i++, proposal.id, proposal.name, proposal.status);
                            proposalIds.Add(proposal.id.ToString());
                        }
                    }

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

                Console.WriteLine("Number of proposals to be approved: {0}", proposalIds.Count);

                if (proposalIds.Count > 0)
                {
                    // Modify statement for action.
                    statementBuilder.RemoveLimitAndOffset();

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

                    // Perform action.
                    UpdateResult result = proposalService.performProposalAction(action,
                                                                                statementBuilder.ToStatement());

                    // Display results.
                    if (result != null && result.numChanges > 0)
                    {
                        Console.WriteLine("Number of proposals approved: {0}", result.numChanges);
                    }
                    else
                    {
                        Console.WriteLine("No proposals were approved.");
                    }
                }
            } catch (Exception e) {
                Console.WriteLine("Failed to approve proposals. Exception says \"{0}\"",
                                  e.Message);
            }
        }
        /// <summary>
        /// Run the code example.
        /// </summary>
        public void Run(AdManagerUser user)
        {
            using (LabelService labelService = user.GetService <LabelService>())
            {
                // Set the ID of the label to deactivate.
                int labelId = int.Parse(_T("INSERT_LABEL_ID_HERE"));

                // Create statement text to select the label.
                StatementBuilder statementBuilder = new StatementBuilder()
                                                    .Where("id = :id")
                                                    .OrderBy("id ASC")
                                                    .Limit(1)
                                                    .AddValue("id", labelId);

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

                try
                {
                    do
                    {
                        // Get labels by statement.
                        page = labelService.getLabelsByStatement(statementBuilder.ToStatement());

                        if (page.results != null)
                        {
                            int i = page.startIndex;
                            foreach (Label label in page.results)
                            {
                                Console.WriteLine(
                                    "{0}) Label with ID '{1}', name '{2}' will be deactivated.", i,
                                    label.id, label.name);
                                i++;
                            }
                        }

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

                    Console.WriteLine("Number of labels to be deactivated: " +
                                      page.totalResultSetSize);

                    // Modify statement for action.
                    statementBuilder.RemoveLimitAndOffset();

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

                    // Perform action.
                    UpdateResult result =
                        labelService.performLabelAction(action, statementBuilder.ToStatement());

                    // Display results.
                    if (result != null && result.numChanges > 0)
                    {
                        Console.WriteLine("Number of labels deactivated: " + result.numChanges);
                    }
                    else
                    {
                        Console.WriteLine("No labels were deactivated.");
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine("Failed to deactivate labels. Exception says \"{0}\"",
                                      e.Message);
                }
            }
        }
예제 #18
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 ProposalLineItemService.
            ProposalLineItemService proposalLineItemService =
                (ProposalLineItemService)user.GetService(DfpService.v201602.ProposalLineItemService);

            // Set the ID of the proposal line item to archive.
            long proposalLineItemId = long.Parse(_T("INSERT_PROPOSAL_LINE_ITEM_ID_HERE"));

            // Create statement to select a proposal line item by ID.
            StatementBuilder statementBuilder = new StatementBuilder()
                                                .Where("id = :id")
                                                .OrderBy("id ASC")
                                                .Limit(StatementBuilder.SUGGESTED_PAGE_LIMIT)
                                                .AddValue("id", proposalLineItemId);

            // Set default for page.
            ProposalLineItemPage page = new ProposalLineItemPage();
            List <string>        proposalLineItemIds = new List <string>();

            try {
                do
                {
                    // Get proposal line items by statement.
                    page = proposalLineItemService.getProposalLineItemsByStatement(
                        statementBuilder.ToStatement());

                    if (page.results != null && page.results.Length > 0)
                    {
                        int i = page.startIndex;
                        foreach (ProposalLineItem proposalLineItem in page.results)
                        {
                            Console.WriteLine("{0}) Proposal line item with ID ='{1}' will be archived.",
                                              i++, proposalLineItem.id);
                            proposalLineItemIds.Add(proposalLineItem.id.ToString());
                        }
                    }

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

                Console.WriteLine("Number of proposal line items to be archived: {0}",
                                  proposalLineItemIds.Count);

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

                    // Create action.
                    Google.Api.Ads.Dfp.v201602.ArchiveProposalLineItems action =
                        new Google.Api.Ads.Dfp.v201602.ArchiveProposalLineItems();

                    // Perform action.
                    UpdateResult result = proposalLineItemService.performProposalLineItemAction(action,
                                                                                                statementBuilder.ToStatement());

                    // Display results.
                    if (result != null && result.numChanges > 0)
                    {
                        Console.WriteLine("Number of proposal line items archived: {0}", result.numChanges);
                    }
                    else
                    {
                        Console.WriteLine("No proposal line items were archived.");
                    }
                }
            } catch (Exception e) {
                Console.WriteLine("Failed to archive proposal 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.v201505.LineItemService);
            // Get the ReportService.
            ReportService reportService =
                (ReportService)user.GetService(DfpService.v201505.ReportService);

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

                // Set the file path where the report will be saved.
                String filePath = _T("INSERT_FILE_PATH_HERE");

                // Sets default for page.
                LineItemPage page = new LineItemPage();

                // Create a statement to only select line items from a given order.
                StatementBuilder statementBuilder = new StatementBuilder()
                                                    .Where("orderId = :orderId")
                                                    .Limit(StatementBuilder.SUGGESTED_PAGE_LIMIT)
                                                    .AddValue("orderId", orderId);


                // Collect all line item custom field IDs for an order.
                List <long> customFieldIds = new List <long>();
                do
                {
                    // Get line items by statement.
                    page = lineItemService.getLineItemsByStatement(statementBuilder.ToStatement());

                    // Get custom field IDs from the line items of an order.
                    if (page.results != null)
                    {
                        foreach (LineItem lineItem in page.results)
                        {
                            if (lineItem.customFieldValues != null)
                            {
                                foreach (BaseCustomFieldValue customFieldValue in lineItem.customFieldValues)
                                {
                                    if (!customFieldIds.Contains(customFieldValue.customFieldId))
                                    {
                                        customFieldIds.Add(customFieldValue.customFieldId);
                                    }
                                }
                            }
                        }
                    }

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


                // Create statement to filter for an order.
                statementBuilder.RemoveLimitAndOffset();

                // Create report job.
                ReportJob reportJob = new ReportJob();

                // Create report query.
                ReportQuery reportQuery = new ReportQuery();
                reportQuery.dateRangeType  = DateRangeType.LAST_MONTH;
                reportQuery.dimensions     = new Dimension[] { Dimension.LINE_ITEM_ID, Dimension.LINE_ITEM_NAME };
                reportQuery.statement      = statementBuilder.ToStatement();
                reportQuery.customFieldIds = customFieldIds.ToArray();
                reportQuery.columns        = new Column[] { Column.AD_SERVER_IMPRESSIONS };
                reportJob.reportQuery      = reportQuery;

                // Run report job.
                reportJob = reportService.runReportJob(reportJob);

                ReportUtilities reportUtilities = new ReportUtilities(reportService, reportJob.id);

                // Set download options.
                ReportDownloadOptions options = new ReportDownloadOptions();
                options.exportFormat                  = ExportFormat.CSV_DUMP;
                options.useGzipCompression            = true;
                reportUtilities.reportDownloadOptions = options;

                // Download the report.
                using (ReportResponse reportResponse = reportUtilities.GetResponse()) {
                    reportResponse.Save(filePath);
                }
                Console.WriteLine("Report saved to \"{0}\".", filePath);
            } catch (Exception e) {
                Console.WriteLine("Failed to run cusom fields report. Exception says \"{0}\"",
                                  e.Message);
            }
        }
예제 #20
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.v201411.OrderService);

            // Set the ID of the order.
            long orderId = long.Parse(_T("INSERT_ORDER_ID_HERE"));

            // Create statement to select the order.
            StatementBuilder statementBuilder = new StatementBuilder()
                                                .Where("id = :id")
                                                .OrderBy("id ASC")
                                                .Limit(1)
                                                .AddValue("id", orderId);

            // Set default for page.
            OrderPage     page     = new OrderPage();
            List <string> orderIds = new List <string>();
            int           i        = 0;

            try {
                do
                {
                    // Get orders by statement.
                    page = orderService.getOrdersByStatement(statementBuilder.ToStatement());

                    if (page.results != null && page.results.Length > 0)
                    {
                        foreach (Order order in page.results)
                        {
                            Console.WriteLine("{0}) Order with ID = '{1}', name = '{2}', and status ='{3}' " +
                                              "will be approved.", i, order.id, order.name, order.status);
                            orderIds.Add(order.id.ToString());
                            i++;
                        }
                    }

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

                Console.WriteLine("Number of orders to be approved: {0}", orderIds.Count);

                if (orderIds.Count > 0)
                {
                    // Modify statement for action.
                    statementBuilder.RemoveLimitAndOffset();

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

                    // Perform action.
                    UpdateResult result = orderService.performOrderAction(action,
                                                                          statementBuilder.ToStatement());

                    // Display results.
                    if (result != null && result.numChanges > 0)
                    {
                        Console.WriteLine("Number of orders approved: {0}", result.numChanges);
                    }
                    else
                    {
                        Console.WriteLine("No orders were approved.");
                    }
                }
            } catch (Exception e) {
                Console.WriteLine("Failed to approve orders. Exception says \"{0}\"",
                                  e.Message);
            }
        }
예제 #21
0
        /// <summary>
        /// Run the code example.
        /// </summary>
        public void Run(AdManagerUser user)
        {
            using (PlacementService placementService = user.GetService <PlacementService>())
            {
                // Create statement to select active placements.
                StatementBuilder statementBuilder = new StatementBuilder()
                                                    .Where("status = :status")
                                                    .OrderBy("id ASC")
                                                    .Limit(StatementBuilder.SUGGESTED_PAGE_LIMIT)
                                                    .AddValue("status", InventoryStatus.ACTIVE.ToString());

                // Sets default for page.
                PlacementPage page         = new PlacementPage();
                List <string> placementIds = new List <string>();

                try
                {
                    do
                    {
                        // Get placements by statement.
                        page = placementService.getPlacementsByStatement(statementBuilder
                                                                         .ToStatement());

                        if (page.results != null)
                        {
                            int i = page.startIndex;
                            foreach (Placement placement in page.results)
                            {
                                Console.WriteLine(
                                    "{0}) Placement with ID ='{1}', name ='{2}', and " +
                                    "status ='{3}' will be deactivated.",
                                    i, placement.id, placement.name, placement.status);
                                placementIds.Add(placement.id.ToString());
                                i++;
                            }
                        }

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

                    Console.WriteLine("Number of placements to be deactivated: {0}",
                                      placementIds.Count);

                    if (placementIds.Count > 0)
                    {
                        // Modify statement for action.
                        statementBuilder.RemoveLimitAndOffset();

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

                        // Perform action.
                        UpdateResult result =
                            placementService.performPlacementAction(action,
                                                                    statementBuilder.ToStatement());

                        // Display results.
                        if (result != null && result.numChanges > 0)
                        {
                            Console.WriteLine("Number of placements deactivated: {0}",
                                              result.numChanges);
                        }
                        else
                        {
                            Console.WriteLine("No placements were deactivated.");
                        }
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine("Failed to deactivate placements. Exception says \"{0}\"",
                                      e.Message);
                }
            }
        }
        /// <summary>
        /// Run the code example.
        /// </summary>
        public void Run(AdManagerUser user)
        {
            using (CustomFieldService customFieldService = user.GetService <CustomFieldService>())
            {
                // Set the ID of the custom field to update.
                int customFieldId = int.Parse(_T("INSERT_CUSTOM_FIELD_ID_HERE"));

                // Create statement to select only active custom fields that apply to
                // line items.
                StatementBuilder statementBuilder = new StatementBuilder()
                                                    .Where("id = :id")
                                                    .OrderBy("id ASC")
                                                    .Limit(1)
                                                    .AddValue("id", customFieldId);

                // Set default for page.
                CustomFieldPage page           = new CustomFieldPage();
                int             i              = 0;
                List <string>   customFieldIds = new List <string>();

                try
                {
                    do
                    {
                        // Get custom fields by statement.
                        page = customFieldService.getCustomFieldsByStatement(
                            statementBuilder.ToStatement());

                        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++;
                            }
                        }

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

                    Console.WriteLine("Number of custom fields to be deactivated: " +
                                      customFieldIds.Count);

                    if (customFieldIds.Count > 0)
                    {
                        // Remove limit and offset from statement.
                        statementBuilder.RemoveLimitAndOffset();

                        // Create action.
                        Google.Api.Ads.AdManager.v202102.DeactivateCustomFields action =
                            new Google.Api.Ads.AdManager.v202102.DeactivateCustomFields();

                        // Perform action.
                        UpdateResult result =
                            customFieldService.performCustomFieldAction(action,
                                                                        statementBuilder.ToStatement());

                        // 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 e)
                {
                    Console.WriteLine("Failed to deactivate custom fields. Exception says \"{0}\"",
                                      e.Message);
                }
            }
        }
예제 #23
0
        /// <summary>
        /// Run the code example.
        /// </summary>
        public void Run(DfpUser user)
        {
            // Get the ProductTemplateService.
            ProductTemplateService productTemplateService =
                (ProductTemplateService)user.GetService(DfpService.v201702.ProductTemplateService);

            // Set the ID of the product template to activate.
            long productTemplateId = long.Parse(_T("INSERT_PRODUCT_TEMPLATE_ID_HERE"));

            // [START product_template_statement] MOE:strip_line
            // Create statement to select a product template by ID.
            StatementBuilder statementBuilder = new StatementBuilder()
                                                .Where("id = :id")
                                                .OrderBy("id ASC")
                                                .Limit(StatementBuilder.SUGGESTED_PAGE_LIMIT)
                                                .AddValue("id", productTemplateId);
            // [END product_template_statement] MOE:strip_line

            // Set default for page.
            ProductTemplatePage page = new ProductTemplatePage();
            List <string>       productTemplateIds = new List <string>();

            try {
                do
                {
                    // Get product templates by statement.
                    page = productTemplateService.getProductTemplatesByStatement(
                        statementBuilder.ToStatement());

                    if (page.results != null)
                    {
                        int i = page.startIndex;
                        foreach (ProductTemplate productTemplate in page.results)
                        {
                            Console.WriteLine("{0}) Product template with ID ='{1}' will be activated.",
                                              i++, productTemplate.id);
                            productTemplateIds.Add(productTemplate.id.ToString());
                        }
                    }

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

                Console.WriteLine("Number of product templates to be activated: {0}",
                                  productTemplateIds.Count);

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

                    // [START its_activation_time] MOE:strip_line
                    // Create action.
                    Google.Api.Ads.Dfp.v201702.ActivateProductTemplates action =
                        new Google.Api.Ads.Dfp.v201702.ActivateProductTemplates();

                    // Perform action.
                    UpdateResult result = productTemplateService.performProductTemplateAction(action,
                                                                                              statementBuilder.ToStatement());
                    // [END its_activation_time] MOE:strip_line

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