Esempio n. 1
0
        public override ITrackGoalRequest Build()
        {
            this.CheckWholeObjectForCorrectnessOrThrow();

            Dictionary <string, string> customParameters = null;

            if (this.FieldsRawValuesByName != null)
            {
                customParameters = new Dictionary <string, string>(this.FieldsRawValuesByName);
            }

            this.EventParametersAccumulator = new UTEvent(
                this.EventParametersAccumulator.Timestamp,
                customParameters,
                this.EventParametersAccumulator.DefinitionId,
                this.EventParametersAccumulator.ItemId,
                this.EventParametersAccumulator.EngagementValue,
                this.EventParametersAccumulator.ParentEventId,
                this.EventParametersAccumulator.Text,
                this.EventParametersAccumulator.Duration,
                this.EventParametersAccumulator.TrackingInteractionId
                );

            UTGoal utGoal = new UTGoal(this.EventParametersAccumulator);

            TrackGoalParameters result = new TrackGoalParameters(null, utGoal);

            return(result);
        }
        public override IUTGoal Build()
        {
            Dictionary <string, string> customParameters = null;

            if (this.FieldsRawValuesByName != null)
            {
                customParameters = new Dictionary <string, string>(this.FieldsRawValuesByName);
            }

            this.EventParametersAccumulator = new UTEvent(
                this.EventParametersAccumulator.Timestamp,
                customParameters,
                this.EventParametersAccumulator.DefinitionId,
                this.EventParametersAccumulator.ItemId,
                this.EventParametersAccumulator.EngagementValue,
                this.EventParametersAccumulator.ParentEventId,
                this.EventParametersAccumulator.Text,
                this.EventParametersAccumulator.Duration,
                this.EventParametersAccumulator.TrackingInteractionId
                );

            IUTGoal result = new UTGoal(this.EventParametersAccumulator);

            return(result);
        }
        public ITrackGoalRequest FillTrackGoalGaps(ITrackGoalRequest userRequest)
        {
            var utGoal = userRequest.Goal.DeepCopyUTGoal();

            //order matters!
            IUTSessionConfig mergedSessionConfig = this.SessionConfigMerger.FillSessionConfigGaps(userRequest.SessionConfig);

            var utEvent = this.ApplyActiveInteraction(utGoal, mergedSessionConfig);

            utEvent = this.ApplyDeviceIdentifier(utEvent);

            utGoal = new UTGoal(utEvent);

            return(new TrackGoalParameters(mergedSessionConfig, utGoal));
        }