/// <summary>
        /// Runs the code example.
        /// </summary>
        /// <param name="user">The AdWords user.</param>
        public void Run(AdWordsUser user)
        {
            // Get the BudgetService.
              BudgetService budgetService =
              (BudgetService) user.GetService(AdWordsService.v201309.BudgetService);

              // Get the VideoCampaignService.
              VideoCampaignService videoCampaignService =
              (VideoCampaignService) user.GetService(AdWordsService.v201309.VideoCampaignService);

              // Create the campaign budget.
              Budget budget = new Budget();
              budget.name = "Interplanetary Cruise Budget #" + ExampleUtilities.GetRandomString();
              budget.period = BudgetBudgetPeriod.DAILY;
              budget.deliveryMethod = BudgetBudgetDeliveryMethod.STANDARD;
              budget.amount = new Money();
              budget.amount.microAmount = 500000;

              BudgetOperation budgetOperation = new BudgetOperation();
              budgetOperation.@operator = Operator.ADD;
              budgetOperation.operand = budget;

              try {
            BudgetReturnValue budgetRetval = budgetService.mutate(new BudgetOperation[] { budgetOperation });
            budget = budgetRetval.value[0];
              } catch (Exception ex) {
            throw new System.ApplicationException("Failed to add shared budget.", ex);
              }

              // Create video campaign.
              VideoCampaign videoCampaign = new VideoCampaign();
              videoCampaign.name = ("Interplanetary Cruise #" + ExampleUtilities.GetRandomString());
              videoCampaign.status = VideoCampaignStatus.PAUSED;
              videoCampaign.budgetId = budget.budgetId;

              // You can optionally provide these field(s). The dates will be
              // interpreted using the account's timezone.
              videoCampaign.startDate = DateTime.Now.AddDays(1).ToString("yyyyMMdd");

              try {
            // Create operations.
            VideoCampaignOperation operation = new VideoCampaignOperation();
            operation.operand = videoCampaign;
            operation.@operator = Operator.ADD;

            VideoCampaignOperation[] operations = new VideoCampaignOperation[] { operation };

            // Add video campaigns.
            VideoCampaignReturnValue retval = videoCampaignService.mutate(operations);

            // Display video campaigns.
            if (retval != null && retval.value != null && retval.value.Length > 0) {
              VideoCampaign newVideoCampaign = retval.value[0];
              Console.WriteLine("Campaign with name '{0}' and id = {1} was added.",
              newVideoCampaign.name, newVideoCampaign.id);
            } else {
              Console.WriteLine("No video campaigns were added.");
            }
              } catch (Exception ex) {
            throw new System.ApplicationException("Failed to add video campaign.", ex);
              }
        }