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)); }
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); }
/// <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); } } }
public OnlineMarketingDataGenerator(ISiteInfo currentSite, IActivityUrlHashService hashService) { mSite = currentSite; mHashService = hashService; }
/// <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; }