private void GenerateCafePromotionSampleCampaign()
        {
            var campaignCafePromotion = new CampaignData
            {
                CampaignName             = CAMPAIGN_CAFE_SAMPLE_PROMOTION_RUNNING,
                CampaignDisplayName      = "Cafe sample promotion",
                CampaignDescription      = "The goal of this campaign is to increase the number of visitors in our cafes. We want to achieve that by sending out free coffee sample coupons that customers can redeem at the cafes.",
                CampaignUTMCode          = "cafe_sample_promotion_mvc_running",
                CampaignOpenFrom         = DateTime.Now.AddDays(-14),
                CampaignOpenTo           = DateTime.MinValue,
                CampaignEmailPromotion   = NEWSLETTER_COLOMBIA_COFFEE_SAMPLE_PROMOTION_ISSUE_GUID,
                CampaignContentInventory = new List <Guid>
                {
                    new Guid("0964F55A-6BB3-49FB-9A8D-CE82738292C5")
                },
                CampaignReportSetup = PrepareCafeSamplePromotionConversions()
            };

            /* Generate running 'Cafe sample promotion' campaign. */
            GenerateCampaign(campaignCafePromotion);

            /* Generate finished 'Cafe sample promotion' campaign. */
            campaignCafePromotion.CampaignName             = CAMPAIGN_CAFE_SAMPLE_PROMOTION_FINISHED;
            campaignCafePromotion.CampaignEmailPromotion   = NEWSLETTER_COLOMBIA_COFFEE_SAMPLE_PROMOTION_TEST_ISSUE_GUID;
            campaignCafePromotion.CampaignDisplayName      = "Cafe sample promotion test";
            campaignCafePromotion.CampaignOpenTo           = campaignCafePromotion.CampaignOpenFrom.AddDays(6);
            campaignCafePromotion.CampaignUTMCode          = "cafe_sample_promotion_mvc_finished";
            campaignCafePromotion.CampaignContentInventory = new List <Guid>
            {
                new Guid("0964F55A-6BB3-49FB-9A8D-CE82738292C6")
            };

            GenerateCampaign(campaignCafePromotion);
        }
        /// <summary>
        /// Generates campaign.
        /// </summary>
        /// <param name="campaignData">Campaign data for generating.</param>
        private void GenerateCampaign(CampaignData campaignData)
        {
            var siteName = mSite.SiteName;
            var campaign = CampaignInfoProvider.GetCampaignInfo(campaignData.CampaignName, siteName);

            if (campaign != null)
            {
                return;
            }

            campaign = new CampaignInfo
            {
                CampaignName         = campaignData.CampaignName,
                CampaignDisplayName  = campaignData.CampaignDisplayName,
                CampaignDescription  = campaignData.CampaignDescription,
                CampaignOpenFrom     = campaignData.CampaignOpenFrom,
                CampaignCalculatedTo = campaignData.CampaignOpenFrom,
                CampaignOpenTo       = campaignData.CampaignOpenTo,
                CampaignSiteID       = mSite.SiteID,
                CampaignUTMCode      = campaignData.CampaignUTMCode
            };

            CampaignInfoProvider.SetCampaignInfo(campaign);

            /* Add email to campaign promotion section  */
            CampaignDataGeneratorHelpers.AddNewsletterAsset(campaign, campaignData.CampaignEmailPromotion);
            var issue = ProviderHelper.GetInfoByGuid(PredefinedObjectType.NEWSLETTERISSUE, campaignData.CampaignEmailPromotion, campaign.CampaignSiteID);

            if (issue != null)
            {
                issue.SetValue("IssueStatus", 5);
                issue.SetValue("IssueMailoutTime", campaignData.CampaignOpenFrom);

                issue.Update();
            }

            /* Add page assets to campaign content inventory section */
            foreach (var assetUrlGuid in campaignData.CampaignContentInventory)
            {
                CampaignDataGeneratorHelpers.AddPageAsset(campaign.CampaignID, assetUrlGuid);
            }

            /* Add conversions to campaign report setup section */
            foreach (var conversion in campaignData.CampaignReportSetup)
            {
                CampaignDataGeneratorHelpers.CreateConversion(campaign.CampaignID, conversion);
            }
        }