public override IUTOutcome 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 ); var result = new UTOutcome(this.EventParametersAccumulator, this.CurrencyCodeValue, this.MonetaryValueValue); return(result); }
public override ITrackOutcomeRequest Build() { #warning @igk check that all required fields is not null here!!! 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 ); UTOutcome outcome = new UTOutcome(this.EventParametersAccumulator, this.CurrencyCodeValue, this.MonetaryValueValue); TrackOutcomeParameters result = new TrackOutcomeParameters(null, outcome); return(result); }
public ITrackOutcomeRequest FillTrackOutcomeGaps(ITrackOutcomeRequest userRequest) { var utOutcome = userRequest.Outcome.DeepCopyUTOutcome(); //order matters! IUTSessionConfig mergedSessionConfig = this.SessionConfigMerger.FillSessionConfigGaps(userRequest.SessionConfig); var utEvent = this.ApplyActiveInteraction(utOutcome, mergedSessionConfig); utEvent = this.ApplyDeviceIdentifier(utEvent); utOutcome = new UTOutcome(utEvent, utOutcome.CurrencyCode, utOutcome.MonetaryValue); return(new TrackOutcomeParameters(mergedSessionConfig, utOutcome)); }