Пример #1
0
        public ActionResult Generate([FromServices] IActivityUrlHashService hashService)
        {
            if (!IsAdmin())
            {
                return(UnauthorizedView());
            }

            new PersonaGenerator().Generate();

            new ContactGroupGenerator().Generate();

            new CampaignContactsDataGenerator(CONTACT_FIRST_NAME_PREFIX, CONTACT_LAST_NAME_PREFIX).Generate();

            var site = siteService.CurrentSite;

            new CampaignDataGenerator(site, CONTACT_FIRST_NAME_PREFIX, hashService).Generate();

            new OnlineMarketingDataGenerator(site, hashService).Generate();
            new NewslettersDataGenerator(site).Generate();

            var model = new GeneratorIndexViewModel
            {
                DisplaySuccessMessage = true
            };

            return(View("Index", model));
        }
Пример #2
0
        private static void GenerateFakeActivity(IActivityUrlHashService hashService, string campaignUTMcode, string type, ActivityDataParameters activityDataParameter, int nodeID, int itemID, int siteID, int contactID, string activityUrl = null)
        {
            var activity = new ActivityInfo
            {
                ActivitySiteID    = siteID,
                ActivityContactID = contactID,
                ActivityCampaign  = campaignUTMcode,
                ActivityType      = type,
                ActivityNodeID    = nodeID,
                ActivityItemID    = itemID,
                ActivityURL       = activityUrl,
                ActivityURLHash   = activityUrl != null?hashService.GetActivityUrlHash(activityUrl) : 0,
                                        ActivityUTMSource  = activityDataParameter.UtmSource,
                                        ActivityUTMContent = activityDataParameter.UtmContent,
                                        ActivityTitle      = "GeneratedActivity_" + type + "_" + contactID
            };

            ActivityInfo.Provider.Set(activity);
        }
Пример #3
0
        /// <summary>
        /// Generates activities for campaign.
        /// </summary>
        /// <param name="hashService">Provides hash computations for activity URLs.</param>
        /// <param name="activityDataParameters">Contains count to specify how many activities should be generated with given utm content and utm source</param>
        /// <param name="campaign">Campaign for which are activities generated.</param>
        /// <param name="type">Activity type (<see cref="PredefinedActivityType"/>).</param>
        /// <param name="contactsIDs">Represents IDs of all contacts for generating activities.</param>
        /// <param name="conversionItemID">Conversion item ID.</param>
        public static void GenerateActivities(IActivityUrlHashService hashService, IEnumerable <ActivityDataParameters> activityDataParameters, CampaignInfo campaign, string type, ContactsIDData contactsIDs, int conversionItemID = 0, string activityUrl = null)
        {
            var nodeID = 0;
            var itemID = 0;

            switch (type)
            {
            case PredefinedActivityType.PAGE_VISIT:
                nodeID = conversionItemID;
                break;

            default:
                itemID = conversionItemID;
                break;
            }

            foreach (var activityDataParameter in activityDataParameters)
            {
                for (var i = 0; i < activityDataParameter.Count; i++)
                {
                    GenerateFakeActivity(hashService, campaign.CampaignUTMCode, type, activityDataParameter, nodeID, itemID, campaign.CampaignSiteID, contactsIDs.GetNextContactID(), activityUrl);
                }
            }
        }
Пример #4
0
 public OnlineMarketingDataGenerator(ISiteInfo currentSite, IActivityUrlHashService hashService)
 {
     mSite        = currentSite;
     mHashService = hashService;
 }
Пример #5
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="site">Site the campaign data will be generated for</param>
 /// <param name="contactFirstNamePrefix">First name prefix of contacts generated for sample campaigns.</param>
 /// <param name="hashService">Provides hash computation for activity URLs.</param>
 public CampaignDataGenerator(ISiteInfo site, string contactFirstNamePrefix, IActivityUrlHashService hashService)
 {
     mSite = site;
     mContactFirstNamePrefix = contactFirstNamePrefix;
     mHashService            = hashService;
 }