Пример #1
0
        public bool Equals(DsfDecision other)
        {
            if (ReferenceEquals(null, other))
            {
                return(false);
            }

            if (ReferenceEquals(this, other))
            {
                return(true);
            }
            var areConditionsEqual = CommonEqualityOps.AreObjectsEqual(Conditions, other.Conditions);

            if (!areConditionsEqual)
            {
                return(false);
            }
            return(string.Equals(DisplayName, other.DisplayName) &&
                   string.Equals(Result, other.Result) &&
                   And == other.And &&
                   Equals(UniqueID, other.UniqueID));
        }
Пример #2
0
        IEnumerable <IDev2Activity> ParseDecision(FlowDecision decision, List <IDev2Activity> seenActivities)
        {
            var activity = decision.Condition as DsfFlowDecisionActivity;

            if (activity != null)
            {
                if (seenActivities.Contains(activity))
                {
                    return(new List <IDev2Activity> {
                        activity
                    });
                }
                var rawText = activity.ExpressionText;
                // ReSharper disable MaximumChainedReferences
                var activityTextjson = rawText.Substring(rawText.IndexOf("{", StringComparison.Ordinal)).Replace(@""",AmbientDataList)", "").Replace("\"", "!");
                // ReSharper restore MaximumChainedReferences
                var activityText  = Dev2DecisionStack.FromVBPersitableModelToJSON(activityTextjson);
                var decisionStack = JsonConvert.DeserializeObject <Dev2DecisionStack>(activityText);
                var dec           = new DsfDecision(activity);
                if (!seenActivities.Contains(activity))
                {
                    seenActivities.Add(dec);
                }
                dec.TrueArm    = ParseTools(decision.True, seenActivities);
                dec.FalseArm   = ParseTools(decision.False, seenActivities);
                dec.Conditions = decisionStack;
                dec.And        = decisionStack.Mode == Dev2DecisionMode.AND;


                return(new List <IDev2Activity>
                {
                    dec
                });
            }
            throw new Exception("Invalid activity");
        }
Пример #3
0
 public TestMockDecisionStep(DsfDecision dsfDecision)
     : base(dsfDecision.DisplayName)
 {
     _dsfDecision = dsfDecision;
     UniqueID     = _dsfDecision.UniqueID;
 }