public ReadOnlyConditionGroup(AbstractConditionGroup sourceGroup) : base(sourceGroup) { this.sourceGroup = sourceGroup; If = new ReadOnlyExpressionCondition(sourceGroup.If); sourceGroup.PropertyChanged += OnSourcePropertyChanged; if (null != sourceGroup.Else) { Else = new ReadOnlyBasicCondition(sourceGroup.Else); } }
protected AbstractConditionGroup(AbstractConditionGroup sourceGroup = null) : base(sourceGroup) { this.sourceGroup = sourceGroup; AddElseIfCommand = new DelegateCommand((parameter) => IsEditable, (parameter) => { if (IsEditable) { var condition = new ExpressionCondition(); AddStatement(condition); Workspace.Instance.CommandHistory.Log( "add else if", () => AddStatement(condition), () => RemoveStatement(condition) ); } }); AddElseCommand = new DelegateCommand((parameter) => IsEditable && null == Else, (parameter) => { if (IsEditable && null == Else) { var condition = new BasicCondition(); Else = condition; Workspace.Instance.CommandHistory.Log( "add else", () => Else = condition, () => Else = null ); } }); }