예제 #1
0
        /// <summary>
        /// Creates a feature request event for a successful evaluation of a prerequisite flag.
        /// </summary>
        /// <param name="prereqFlag">the prerequisite flag</param>
        /// <param name="user">the user passed to the Variation method</param>
        /// <param name="result">the evaluation result</param>
        /// <param name="prereqOf">the flag that used this flag as a prerequisite</param>
        /// <returns>an event</returns>
        internal FeatureRequestEvent NewPrerequisiteFeatureRequestEvent(IFlagEventProperties prereqFlag, User user,
                                                                        EvaluationDetail <LdValue> result, IFlagEventProperties prereqOf)
        {
            bool experiment = prereqFlag.IsExperiment(result.Reason);

            return(new FeatureRequestEvent(GetTimestamp(), prereqFlag.Key, user, result.VariationIndex, result.Value, LdValue.Null,
                                           prereqFlag.EventVersion, prereqOf.Key, experiment || prereqFlag.TrackEvents, prereqFlag.DebugEventsUntilDate, false,
                                           (experiment || IncludeReasons) ? result.Reason : null));
        }
예제 #2
0
        /// <summary>
        /// Creates a feature request event for a successful evaluation.
        /// </summary>
        /// <param name="flag">abstraction of the basic flag properties we need</param>
        /// <param name="user">the user passed to the Variation method</param>
        /// <param name="result">the evaluation result</param>
        /// <param name="defaultVal">the default value passed to the Variation method</param>
        /// <returns>an event</returns>
        internal FeatureRequestEvent NewFeatureRequestEvent(IFlagEventProperties flag, User user,
                                                            EvaluationDetail <LdValue> result, LdValue defaultVal)
        {
            bool experiment = flag.IsExperiment(result.Reason);

            return(new FeatureRequestEvent(GetTimestamp(), flag.Key, user, result.VariationIndex, result.Value, defaultVal,
                                           flag.EventVersion, null, experiment || flag.TrackEvents, flag.DebugEventsUntilDate, false,
                                           (experiment || IncludeReasons) ? result.Reason : null));
        }