Esempio n. 1
0
 public static void TweakCampaignStats(GameContext gameContext, CampaignStat stat)
 {
     GetCampaignStats(gameContext).Stats[stat]++;
 }
Esempio n. 2
0
        /// <summary>
        /// Fetches the campaign stats.
        /// </summary>
        /// <param name="user">The user.</param>
        /// <param name="startDate">The start date.</param>
        /// <param name="endDate">The end date.</param>
        /// <returns>A dictionary, with key as campaign ID, and value as the
        /// campaign details.</returns>
        public Dictionary <long, LocalCampaign> FetchCampaignStats(AdWordsUser user,
                                                                   string startDate, string endDate)
        {
            Dictionary <long, LocalCampaign> campaigns = new Dictionary <long, LocalCampaign>();

            CsvFile csvFile = DownloadCampaignPerformanceReport(user, startDate, endDate);

            for (int i = 0; i < csvFile.Records.Count; i++)
            {
                var row = csvFile.Records[i];

                long   campaignId          = long.Parse(row[0]);
                string campaignName        = row[1];
                long   clicks              = long.Parse(row[2]);
                long   impressions         = long.Parse(row[3]);
                long   cost                = long.Parse(row[4]);
                string searchBudgetLostIS  = row[5];
                string contentBudgetLostIS = row[6];
                string searchIS            = row[7];
                string contentIS           = row[8];
                long   totalBudget         = long.Parse(row[9]);
                string network             = row[10];
                string averageCpc          = row[11];

                LocalCampaign campaign = null;
                if (!campaigns.TryGetValue(campaignId, out campaign))
                {
                    campaigns[campaignId] = campaign = new LocalCampaign()
                    {
                        BudgetAmount = totalBudget,
                        CampaignId   = campaignId,
                        CampaignName = campaignName
                    };
                }
                CampaignStat campaignStat = null;

                campaignStat = campaign.Stats;

                if (network == "Display Network")
                {
                    campaignStat.DisplayStats.Clicks      = clicks;
                    campaignStat.DisplayStats.Impressions = impressions;
                    campaignStat.DisplayStats.Cost        = cost;
                    campaignStat.DisplayStats.BudgetLostImpressionShare =
                        NormalizeImpressionShare(contentBudgetLostIS);
                    campaignStat.DisplayStats.AverageCpc      = long.Parse(averageCpc);
                    campaignStat.DisplayStats.ImpressionShare = NormalizeImpressionShare(contentIS);
                }
                else
                {
                    campaignStat.SearchStats.Clicks      = clicks;
                    campaignStat.SearchStats.Impressions = impressions;
                    campaignStat.SearchStats.Cost        = cost;
                    campaignStat.SearchStats.BudgetLostImpressionShare =
                        NormalizeImpressionShare(searchBudgetLostIS);
                    campaignStat.SearchStats.AverageCpc      = long.Parse(averageCpc);
                    campaignStat.SearchStats.ImpressionShare = NormalizeImpressionShare(searchIS);
                }
            }
            return(campaigns);
        }