Exemple #1
0
        /// <summary>
        /// Creates the interaction.
        /// </summary>
        /// <param name="interactionComponentId">The interaction component identifier.</param>
        /// <param name="userAgent">The user agent.</param>
        /// <param name="url">The URL.</param>
        /// <param name="ipAddress">The ip address.</param>
        /// <param name="browserSessionId">The browser session identifier.</param>
        /// <returns></returns>
        public Interaction CreateInteraction(int interactionComponentId, string userAgent, string url, string ipAddress, Guid?browserSessionId)
        {
            userAgent = userAgent ?? string.Empty;
            var deviceOs          = uaParser.ParseOS(userAgent).ToString();
            var deviceApplication = uaParser.ParseUserAgent(userAgent).ToString();
            var deviceClientType  = InteractionDeviceType.GetClientType(userAgent);

            var interaction = CreateInteraction(interactionComponentId, null, null, string.Empty, null, null, RockDateTime.Now, deviceApplication, deviceOs, deviceClientType, userAgent, ipAddress, browserSessionId);

            interaction.SetUTMFieldsFromURL(url);

            return(interaction);
        }
        /// <summary>
        /// Creates the interaction.
        /// </summary>
        /// <param name="interactionComponentId">The interaction component identifier.</param>
        /// <param name="userAgent">The user agent.</param>
        /// <param name="url">The URL.</param>
        /// <param name="ipAddress">The ip address.</param>
        /// <param name="browserSessionId">The browser session identifier.</param>
        /// <returns></returns>
        public Interaction CreateInteraction(int interactionComponentId, string userAgent, string url, string ipAddress, Guid?browserSessionId)
        {
            userAgent = userAgent ?? string.Empty;
            var deviceOs          = uaParser.ParseOS(userAgent).ToString();
            var deviceApplication = uaParser.ParseUserAgent(userAgent).ToString();
            var deviceClientType  = InteractionDeviceType.GetClientType(userAgent);

            var interaction = CreateInteraction(interactionComponentId, null, null, string.Empty, null, null, RockDateTime.Now,
                                                deviceApplication, deviceOs, deviceClientType, userAgent, ipAddress, browserSessionId);

            if (url.IsNotNullOrWhiteSpace() && url.IndexOf("utm_", StringComparison.OrdinalIgnoreCase) >= 0)
            {
                var urlParams = System.Web.HttpUtility.ParseQueryString(url);
                interaction.Source   = urlParams.Get("utm_source").Truncate(25);
                interaction.Medium   = urlParams.Get("utm_medium").Truncate(25);
                interaction.Campaign = urlParams.Get("utm_campaign").Truncate(50);
                interaction.Content  = urlParams.Get("utm_content").Truncate(50);
                interaction.Term     = urlParams.Get("utm_term").Truncate(50);
            }

            return(interaction);
        }