Example #1
0
        private void GenerateCoffeeClubMembershipCampaign()
        {
            var campaignData = new CampaignData
            {
                CampaignName        = CampaignCoffeeClubMembershipDraft,
                CampaignDisplayName = "Coffee club membership",
                CampaignDescription =
                    "The goal of this campaign is to promote the Coffee Club, a new service that the Dancing Goat company provides for it's coffee geek customers.",
                CampaignUtmCode          = "coffee_club_membership_draft",
                CampaignOpenFrom         = DateTime.MinValue,
                CampaignOpenTo           = DateTime.MinValue,
                CampaignEmailPromotion   = _newsletterCoffeeClubMembershipIssueGuid,
                CampaignContentInventory = new List <string>
                {
                    PagePathCoffeeClubMembership
                },
                CampaignReportSetup = PrepareCoffeeClubMembershipConversions()
            };

            GenerateCampaign(campaignData);
            campaignData.CampaignName        = CampaignCoffeeClubMembershipScheduled;
            campaignData.CampaignDisplayName = "Coffee club membership test";
            campaignData.CampaignOpenFrom    = DateTime.Now.AddDays(6.0);
            campaignData.CampaignUtmCode     = "coffee_club_membership_scheduled";
            GenerateCampaign(campaignData);
        }
Example #2
0
        private void GenerateCafePromotionSampleCampaign()
        {
            var campaignData = new CampaignData
            {
                CampaignName        = CampaignCafeSamplePromotionRunning,
                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. At the end of the process a poster download is offered to see whether people would be interested in such freebies.",
                CampaignUtmCode          = "cafe_sample_promotion_running",
                CampaignOpenFrom         = DateTime.Now.AddDays(-14.0),
                CampaignOpenTo           = DateTime.MinValue,
                CampaignEmailPromotion   = _newsletterColombiaCoffeeSamplePromotionIssueGuid,
                CampaignContentInventory = new List <string>
                {
                    PagePathColombia,
                    PagePathThankYou,
                    PagePathAmericasCoffeePoster
                },
                CampaignReportSetup = PrepareCafeSamplePromotionConversions()
            };

            GenerateCampaign(campaignData);
            campaignData.CampaignName        = CampaignCafeSamplePromotionFinished;
            campaignData.CampaignDisplayName = "Cafe sample promotion test";
            campaignData.CampaignOpenTo      = campaignData.CampaignOpenFrom.AddDays(6.0);
            campaignData.CampaignUtmCode     = "cafe_sample_promotion_finished";
            GenerateCampaign(campaignData);
        }
Example #3
0
        private void GenerateCampaign(CampaignData campaignData)
        {
            var siteName = _mSite.SiteName;

            if (CampaignInfoProvider.GetCampaignInfo(campaignData.CampaignName, siteName) != null)
            {
                return;
            }

            var campaignInfo = 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(campaignInfo);
            CampaignDataGeneratorHelpers.AddNewsletterAsset(campaignInfo, campaignData.CampaignEmailPromotion);
            var infoByGuid = ProviderHelper.GetInfoByGuid("newsletter.issue", campaignData.CampaignEmailPromotion,
                                                          campaignInfo.CampaignSiteID);

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

            foreach (var pagePath in campaignData.CampaignContentInventory)
            {
                CampaignDataGeneratorHelpers.AddPageAsset(campaignInfo.CampaignID, pagePath);
            }

            foreach (var conversionData in campaignData.CampaignReportSetup)
            {
                CampaignDataGeneratorHelpers.CreateConversion(campaignInfo.CampaignID, conversionData);
            }
        }