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)); }
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"); }
public TestMockDecisionStep(DsfDecision dsfDecision) : base(dsfDecision.DisplayName) { _dsfDecision = dsfDecision; UniqueID = _dsfDecision.UniqueID; }