public bool SupportScenario(FunctionScenarioType type) { if (type == FunctionScenarioType.Unspecified) { return(true); } FunctionScenarioType[] types = this.FunctionScenarioTypes; if (types == null) { return(false); } foreach (FunctionScenarioType t in types) { if (type == t) { return(true); } } return(false); }
public bool SupportCategory(FunctionScenarioType type, FunctionCategory category) { if (type == FunctionScenarioType.Unspecified) { return(true); } FunctionCategory[] categories = null; switch (type) { case FunctionScenarioType.Unspecified: categories = new FunctionCategory[] { }; break; case FunctionScenarioType.Router: categories = new FunctionCategory[] { FunctionCategory.Math, FunctionCategory.Text, FunctionCategory.Time, FunctionCategory.Logic, FunctionCategory.Organization, FunctionCategory.Other }; break; case FunctionScenarioType.Computation: categories = new FunctionCategory[] { FunctionCategory.Math, FunctionCategory.Text, FunctionCategory.Time, FunctionCategory.Logic, FunctionCategory.Other }; break; case FunctionScenarioType.Submit: categories = new FunctionCategory[] { FunctionCategory.Math, FunctionCategory.Text, FunctionCategory.Time, FunctionCategory.Logic, FunctionCategory.Organization, FunctionCategory.Other }; break; case FunctionScenarioType.Business: categories = new FunctionCategory[] { FunctionCategory.Math, FunctionCategory.Time, FunctionCategory.Logic, FunctionCategory.BackMethod, FunctionCategory.Other }; break; case FunctionScenarioType.AssociationFilter: categories = new FunctionCategory[] { FunctionCategory.Math, FunctionCategory.Text, FunctionCategory.Time, FunctionCategory.Logic, FunctionCategory.Other }; break; case FunctionScenarioType.ReportSource: categories = new FunctionCategory[] { FunctionCategory.Time, FunctionCategory.Logic }; break; default: categories = new FunctionCategory[] { }; break; } return(categories.Contains(category)); }