You've already forked linux-packaging-mono
Imported Upstream version 4.0.0~alpha1
Former-commit-id: 806294f5ded97629b74c85c09952f2a74fe182d9
This commit is contained in:
84
external/referencesource/System.Workflow.Activities/ConditionalBranch.cs
vendored
Normal file
84
external/referencesource/System.Workflow.Activities/ConditionalBranch.cs
vendored
Normal file
@ -0,0 +1,84 @@
|
||||
namespace System.Workflow.Activities
|
||||
{
|
||||
#region Imports
|
||||
|
||||
using System;
|
||||
using System.Text;
|
||||
using System.Reflection;
|
||||
using System.Collections;
|
||||
using System.CodeDom;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.ComponentModel.Design;
|
||||
using System.Drawing;
|
||||
using System.Workflow.ComponentModel;
|
||||
using System.Workflow.ComponentModel.Design;
|
||||
using System.Workflow.ComponentModel.Compiler;
|
||||
using System.Workflow.Activities.Common;
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
[Designer(typeof(IfElseBranchDesigner), typeof(IDesigner))]
|
||||
[ToolboxItem(false)]
|
||||
[ActivityValidator(typeof(IfElseBranchValidator))]
|
||||
[ToolboxBitmap(typeof(IfElseBranchActivity), "Resources.DecisionBranch.bmp")]
|
||||
[SRCategory(SR.Standard)]
|
||||
[Obsolete("The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*")]
|
||||
public sealed class IfElseBranchActivity : SequenceActivity
|
||||
{
|
||||
public IfElseBranchActivity()
|
||||
{
|
||||
}
|
||||
|
||||
public IfElseBranchActivity(string name)
|
||||
: base(name)
|
||||
{
|
||||
}
|
||||
|
||||
//metadata properties go here
|
||||
public static readonly DependencyProperty ConditionProperty = DependencyProperty.Register("Condition", typeof(ActivityCondition), typeof(IfElseBranchActivity), new PropertyMetadata(DependencyPropertyOptions.Metadata));
|
||||
|
||||
|
||||
[SRCategory(SR.Conditions)]
|
||||
[SRDescription(SR.ConditionDescr)]
|
||||
[RefreshProperties(RefreshProperties.Repaint)]
|
||||
[DefaultValue(null)]
|
||||
public ActivityCondition Condition
|
||||
{
|
||||
get
|
||||
{
|
||||
return base.GetValue(ConditionProperty) as ActivityCondition;
|
||||
}
|
||||
set
|
||||
{
|
||||
base.SetValue(ConditionProperty, value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
internal sealed class IfElseBranchValidator : CompositeActivityValidator
|
||||
{
|
||||
public override ValidationErrorCollection Validate(ValidationManager manager, object obj)
|
||||
{
|
||||
ValidationErrorCollection validationErrors = base.Validate(manager, obj);
|
||||
|
||||
IfElseBranchActivity ifElseBranch = obj as IfElseBranchActivity;
|
||||
if (ifElseBranch == null)
|
||||
throw new ArgumentException(SR.GetString(SR.Error_UnexpectedArgumentType, typeof(IfElseBranchActivity).FullName), "obj");
|
||||
|
||||
// parent must be conditional
|
||||
IfElseActivity ifElse = ifElseBranch.Parent as IfElseActivity;
|
||||
if (ifElse == null)
|
||||
validationErrors.Add(new ValidationError(SR.GetString(SR.Error_ConditionalBranchParentNotConditional), ErrorNumbers.Error_ConditionalBranchParentNotConditional));
|
||||
|
||||
bool isLastBranch = (ifElse != null && ifElse.EnabledActivities.Count > 1 && (ifElse.EnabledActivities[ifElse.EnabledActivities.Count - 1] == ifElseBranch));
|
||||
if (!isLastBranch || ifElseBranch.Condition != null)
|
||||
{
|
||||
if (ifElseBranch.Condition == null)
|
||||
validationErrors.Add(ValidationError.GetNotSetValidationError("Condition"));
|
||||
}
|
||||
return validationErrors;
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user