Class ProcessDefinition
Represents object model of a scheme of a process
Inheritance
↳ object
↳ BaseDefinition
↳ ProcessDefinition
Inherited Members
BaseDefinition.Name
BaseDefinition.DesignerSettings
Equals(object)
Equals(object, object)
GetHashCode()
GetType()
ReferenceEquals(object, object)
ToString()
Namespace: OptimaJet.Workflow.Core.Model
Assembly: OptimaJet.Workflow.Core.dll
Syntax
public sealed class ProcessDefinition : BaseDefinition
Constructors
ProcessDefinition()
Declaration
public ProcessDefinition()
Properties
CodeActionsInvoker
Code action invoker with compiled code actions
Declaration
[JsonIgnore]
public CodeActionsInvoker CodeActionsInvoker { get; }
Property value
Type | Description |
---|
CodeActionsInvoker | |
ExpressionsInvoker
Expressions invoker
Declaration
[JsonIgnore]
public ExpressionsInvoker ExpressionsInvoker { get; }
Property value
Type | Description |
---|
ExpressionsInvoker | |
SubprocessNameGetterInvoker
Subprocess name getter invoker
Declaration
[JsonIgnore]
public SubprocessNameGetterInvoker SubprocessNameGetterInvoker { get; }
Property value
Type | Description |
---|
SubprocessNameGetterInvoker | |
ExpressionManager
Expression manager
Declaration
[JsonIgnore]
public ExpressionManager ExpressionManager { get; }
Property value
Type | Description |
---|
ExpressionManager | |
Actors
List of actors ActorDefinition
Declaration
public List<ActorDefinition> Actors { get; set; }
Property value
Type | Description |
---|
List<ActorDefinition> | |
Parameters
List of parameters ParameterDefinition
Declaration
public List<ParameterDefinition> Parameters { get; set; }
Property value
Type | Description |
---|
List<ParameterDefinition> | |
Commands
List of commands CommandDefinition
Declaration
public List<CommandDefinition> Commands { get; set; }
Property value
Type | Description |
---|
List<CommandDefinition> | |
Timers
List of timers TimerDefinition
Declaration
public List<TimerDefinition> Timers { get; set; }
Property value
Type | Description |
---|
List<TimerDefinition> | |
List of comments CommentDefinition
Declaration
public List<CommentDefinition> Comments { get; set; }
Property value
Type | Description |
---|
List<CommentDefinition> | |
Activities
List of activities ActivityDefinition
Declaration
public List<ActivityDefinition> Activities { get; set; }
Property value
Type | Description |
---|
List<ActivityDefinition> | |
Transitions
List of transitions TransitionDefinition
Declaration
public List<TransitionDefinition> Transitions { get; set; }
Property value
Type | Description |
---|
List<TransitionDefinition> | |
Localization
List of localization items Translation
Declaration
public Localization Localization { get; set; }
Property value
Type | Description |
---|
Localization | |
Localizer
Provides localized strings. For search used ProcessDefinition.Localization property.
Declaration
public Localizer Localizer { get; }
Property value
CodeActions
List of code actions CodeActionDefinition
Declaration
public List<CodeActionDefinition> CodeActions { get; set; }
Property value
Type | Description |
---|
List<CodeActionDefinition> | |
CodeActionsCommonUsings
List of common usings separated by ;
Declaration
public string CodeActionsCommonUsings { get; set; }
Property value
AdditionalParams
Additional parameters used by Workflow Designer
Declaration
public Dictionary<string, object> AdditionalParams { get; set; }
Property value
Type | Description |
---|
Dictionary<string, object> | |
CanBeInlined
The flag indicates that this scheme can be inlined into other schemes
Declaration
public bool CanBeInlined { get; set; }
Property value
LogEnabled
The flag indicates that this scheme will be logging after create ProcessInstance
Declaration
public bool LogEnabled { get; set; }
Property value
InlinedSchemes
The property contains inlined schemes are used in this scheme
Declaration
public List<string> InlinedSchemes { get; }
Property value
Type | Description |
---|
List<string> | |
StartingTransition
Declaration
public string StartingTransition { get; set; }
Property value
The property contains tags that mark the scheme
Declaration
public List<string> Tags { get; }
Property value
Type | Description |
---|
List<string> | |
ContainsSubprocesses
Returns true if the scheme contains subprocesses
Declaration
[JsonIgnore]
public bool ContainsSubprocesses { get; }
Property value
InitialActivity
Returns initial activity of the scheme
Declaration
[JsonIgnore]
public ActivityDefinition InitialActivity { get; }
Property value
Type | Description |
---|
ActivityDefinition | |
ParametersForSerialize
Returns all parameter definitions except system ParameterDefinition.Purpose
Declaration
public ParameterDefinition[] ParametersForSerialize { get; }
Property value
Type | Description |
---|
OptimaJet.Workflow.Core.Model.ParameterDefinition[] | |
PersistenceParameters
Returns all persisted parameter definitions ParameterDefinition.Purpose
Declaration
public IEnumerable<ParameterDefinition> PersistenceParameters { get; }
Property value
Type | Description |
---|
IEnumerable<ParameterDefinition> | |
ActorsForSerialize
Returns all parameter definitions except system ParameterDefinition.Purpose
Declaration
public ActorDefinition[] ActorsForSerialize { get; }
Property value
Type | Description |
---|
OptimaJet.Workflow.Core.Model.ActorDefinition[] | |
Declaration
public string DefiningParametersString { get; set; }
Property value
RootSchemeCode
Declaration
public string RootSchemeCode { get; set; }
Property value
RootSchemeId
Declaration
public Guid? RootSchemeId { get; set; }
Property value
IsObsolete
Declaration
public bool IsObsolete { get; set; }
Property value
Declaration
public Guid Id { get; set; }
Property value
IsSubprocessScheme
Declaration
public bool IsSubprocessScheme { get; }
Property value
AllowedActivities
Declaration
public List<string> AllowedActivities { get; set; }
Property value
Type | Description |
---|
List<string> | |
CalendarName
Declaration
public string CalendarName { get; set; }
Property value
Methods
Create ProcessDefinition object
Declaration
public static ProcessDefinition Create(string name, bool canBeInlined, List<ActorDefinition> actors, List<ParameterDefinition> parameters, List<CommandDefinition> commands, List<TimerDefinition> timers, List<ActivityDefinition> activities, List<TransitionDefinition> transitions, List<Translation> localization, List<CodeActionDefinition> codeActions, DesignerSettings designerSettings, List<string> tags, bool logEnabled = false, string commonUsings = null, List<CommentDefinition> comments = null, string calendarName = null)
Parameters
Type | Name | Description |
---|
string | name | Name of the scheme |
bool | canBeInlined | Sign that the scheme can be inlined into another schemes |
List<ActorDefinition> | actors | List of actors <xref href="OptimaJet.Workflow.Core.Model.ActorDefinition" data-throw-if-not-resolved="false"></xref> |
List<ParameterDefinition> | parameters | List of parameters <xref href="OptimaJet.Workflow.Core.Model.ParameterDefinition" data-throw-if-not-resolved="false"></xref> |
List<CommandDefinition> | commands | List of commands <xref href="OptimaJet.Workflow.Core.Model.CommandDefinition" data-throw-if-not-resolved="false"></xref> |
List<TimerDefinition> | timers | List of timers <xref href="OptimaJet.Workflow.Core.Model.TimerDefinition" data-throw-if-not-resolved="false"></xref> |
List<ActivityDefinition> | activities | List of activities <xref href="OptimaJet.Workflow.Core.Model.ActivityDefinition" data-throw-if-not-resolved="false"></xref> |
List<TransitionDefinition> | transitions | List of transitions <xref href="OptimaJet.Workflow.Core.Model.TransitionDefinition" data-throw-if-not-resolved="false"></xref> |
List<Translation> | localization | List of localization items <xref href="OptimaJet.Workflow.Core.Model.Translation" data-throw-if-not-resolved="false"></xref> |
List<CodeActionDefinition> | codeActions | List of code actions <xref href="OptimaJet.Workflow.Core.Model.CodeActionDefinition" data-throw-if-not-resolved="false"></xref> |
DesignerSettings | designerSettings | Designer settings |
List<string> | tags | scheme tags |
bool | logEnabled | Sign that the <xref href="OptimaJet.Workflow.Core.Model.ProcessInstance" data-throw-if-not-resolved="false"></xref> will be logging after create |
string | commonUsings | List of common usings separated by ; |
List<CommentDefinition> | comments | List of comments <xref href="OptimaJet.Workflow.Core.Model.CommentDefinition" data-throw-if-not-resolved="false"></xref> |
string | calendarName | Work calendar name |
Returns
Type | Description |
---|
ProcessDefinition | ProcessDefinition object |
FindActivity(string)
Returns activity with specific name
Declaration
public ActivityDefinition FindActivity(string activityName)
Parameters
Type | Name | Description |
---|
string | activityName | Name of the activity <see cref="!:ActivityDefinition.Name"></see> |
Returns
Type | Description |
---|
ActivityDefinition | ActivityDefinition object |
FindSetStateActivity(string)
Returns activity with specific state name and possibility to set the state
Declaration
public ActivityDefinition FindSetStateActivity(string stateName)
Parameters
Type | Name | Description |
---|
string | stateName | Name of the state |
Returns
Type | Description |
---|
ActivityDefinition | ActivityDefinition object |
FindCommand(string)
Returns command with specific name
Declaration
public CommandDefinition FindCommand(string name)
Parameters
Type | Name | Description |
---|
string | name | Name of the command <see cref="!:CommandDefinition.Name"></see> |
Returns
Type | Description |
---|
CommandDefinition | CommandDefinition object |
FindActor(string)
Returns actor with specific name
Declaration
public ActorDefinition FindActor(string name)
Parameters
Type | Name | Description |
---|
string | name | Name of the actor <see cref="!:ActorDefinition.Name"></see> |
Returns
Type | Description |
---|
ActorDefinition | ActorDefinition object |
FindParameterDefinition(string)
Returns the parameter specific name
Declaration
public ParameterDefinition FindParameterDefinition(string name)
Parameters
Type | Name | Description |
---|
string | name | Name of the parameter <see cref="!:ParameterDefinition.Name"></see> |
Returns
Type | Description |
---|
ParameterDefinition | ParameterDefinition object |
FindTransition(string)
Returns transition with specific name
Declaration
public TransitionDefinition FindTransition(string name)
Parameters
Type | Name | Description |
---|
string | name | Name of the transition <see cref="!:TransitionDefinition.Name"></see> |
Returns
Type | Description |
---|
TransitionDefinition | TransitionDefinition object |
FindTransitions(ActivityDefinition, ActivityDefinition)
Returns transitions linked by specified activities
Declaration
public List<TransitionDefinition> FindTransitions(ActivityDefinition from, ActivityDefinition to)
Parameters
Type | Name | Description |
---|
ActivityDefinition | from | From activity <xref href="OptimaJet.Workflow.Core.Model.TransitionDefinition.From" data-throw-if-not-resolved="false"></xref> |
ActivityDefinition | to | To activity <xref href="OptimaJet.Workflow.Core.Model.TransitionDefinition.To" data-throw-if-not-resolved="false"></xref> |
Returns
Type | Description |
---|
List<TransitionDefinition> | List of TransitionDefinition objects |
GetPossibleTransitionsForActivity(ActivityDefinition, ForkTransitionSearchType)
Returns the list of all outgoing transitions for specific activity
Declaration
public IEnumerable<TransitionDefinition> GetPossibleTransitionsForActivity(ActivityDefinition activity, ForkTransitionSearchType forkTransitionSearch = ForkTransitionSearchType.NotFork)
Parameters
Type | Name | Description |
---|
ActivityDefinition | activity | Activity definition |
ForkTransitionSearchType | forkTransitionSearch | Search filter for fork transitions |
Returns
Type | Description |
---|
IEnumerable<TransitionDefinition> | List of all outgoing transitions |
GetCommandTransitions(ActivityDefinition, ForkTransitionSearchType)
Returns the list of all outgoing command transitions for specific activity TriggerType.Command
Declaration
public IEnumerable<TransitionDefinition> GetCommandTransitions(ActivityDefinition activity, ForkTransitionSearchType forkTransitionSearch = ForkTransitionSearchType.NotFork)
Parameters
Type | Name | Description |
---|
ActivityDefinition | activity | Activity definition |
ForkTransitionSearchType | forkTransitionSearch | Search filter for fork transitions |
Returns
Type | Description |
---|
IEnumerable<TransitionDefinition> | List of all outgoing command transitions |
GetAutoTransitionForActivity(ActivityDefinition, ForkTransitionSearchType)
Returns the list of all outgoing auto transitions for specific activity TriggerType.Auto
Declaration
public IEnumerable<TransitionDefinition> GetAutoTransitionForActivity(ActivityDefinition activity, ForkTransitionSearchType forkTransitionSearch = ForkTransitionSearchType.NotFork)
Parameters
Type | Name | Description |
---|
ActivityDefinition | activity | Activity definition |
ForkTransitionSearchType | forkTransitionSearch | Search filter for fork transitions |
Returns
Type | Description |
---|
IEnumerable<TransitionDefinition> | List of all outgoing auto transitions |
GetCommandTransitionForActivity(ActivityDefinition, string, ForkTransitionSearchType)
Returns the list of all outgoing command transitions for specific activity TriggerType.Command whis specific command name !:CommandDefinition.Name
Declaration
public IEnumerable<TransitionDefinition> GetCommandTransitionForActivity(ActivityDefinition activity, string commandName, ForkTransitionSearchType forkTransitionSearch = ForkTransitionSearchType.NotFork)
Parameters
Type | Name | Description |
---|
ActivityDefinition | activity | Activity definition |
string | commandName | Name of the command |
ForkTransitionSearchType | forkTransitionSearch | Search filter for fork transitions |
Returns
Type | Description |
---|
IEnumerable<TransitionDefinition> | List of all outgoing command transitions whis specific command name |
GetTimerTransitionForActivity(ActivityDefinition, ForkTransitionSearchType)
Returns the list of all outgoing timer transitions for specific activity TriggerType.Timer
Declaration
public IEnumerable<TransitionDefinition> GetTimerTransitionForActivity(ActivityDefinition activity, ForkTransitionSearchType forkTransitionSearch = ForkTransitionSearchType.NotFork)
Parameters
Type | Name | Description |
---|
ActivityDefinition | activity | Activity definition |
ForkTransitionSearchType | forkTransitionSearch | Search filter for fork transitions |
Returns
Type | Description |
---|
IEnumerable<TransitionDefinition> | List of all outgoing timer transitions |
GetLocalizedStateName(string, CultureInfo)
Returns localized state name in specific culture
Declaration
public string GetLocalizedStateName(string name, CultureInfo culture = null)
Parameters
Type | Name | Description |
---|
string | name | System state name |
CultureInfo | culture | Desired culture. If null then used <xref href="System.Globalization.CultureInfo.CurrentCulture" data-throw-if-not-resolved="false"></xref> |
Returns
Type | Description |
---|
string | Localized state name if exists, else input <code data-dev-comment-type="paramref" class="paramref">name</code> |
GetLocalizedCommandName(string, CultureInfo)
Returns localized command name in specific culture
Declaration
public string GetLocalizedCommandName(string name, CultureInfo culture = null)
Parameters
Type | Name | Description |
---|
string | name | System command name |
CultureInfo | culture | Desired culture. If null then used <xref href="System.Globalization.CultureInfo.CurrentCulture" data-throw-if-not-resolved="false"></xref> |
Returns
Type | Description |
---|
string | Localized command name if exists, else input <code data-dev-comment-type="paramref" class="paramref">name</code> |
GetLocalizedParameterName(string, CultureInfo)
Returns localized parameter name in specific culture
Declaration
public string GetLocalizedParameterName(string name, CultureInfo culture = null)
Parameters
Type | Name | Description |
---|
string | name | System parameter name |
CultureInfo | culture | Desired culture. If null then used <xref href="System.Globalization.CultureInfo.CurrentCulture" data-throw-if-not-resolved="false"></xref> |
Returns
Type | Description |
---|
string | Localized parameter name if exists, else input <code data-dev-comment-type="paramref" class="paramref">name</code> |
GetLocalizedActionName(string, CultureInfo)
Returns localized action name in specific culture
Declaration
public string GetLocalizedActionName(string name, CultureInfo culture = null)
Parameters
Type | Name | Description |
---|
string | name | System action name |
CultureInfo | culture | Desired culture. If null then used <xref href="System.Globalization.CultureInfo.CurrentCulture" data-throw-if-not-resolved="false"></xref> |
Returns
Type | Description |
---|
string | Localized action name if exists, else input <code data-dev-comment-type="paramref" class="paramref">name</code> |
GetLocalizedConditionName(string, CultureInfo)
Returns localized condition name in specific culture
Declaration
public string GetLocalizedConditionName(string name, CultureInfo culture = null)
Parameters
Type | Name | Description |
---|
string | name | System condition name |
CultureInfo | culture | Desired culture. If null then used <xref href="System.Globalization.CultureInfo.CurrentCulture" data-throw-if-not-resolved="false"></xref> |
Returns
Type | Description |
---|
string | Localized condition name if exists, else input <code data-dev-comment-type="paramref" class="paramref">name</code> |
GetLocalizedSchemeName(CultureInfo)
Returns localized scheme name in specific culture
Declaration
public string GetLocalizedSchemeName(CultureInfo culture = null)
Parameters
Type | Name | Description |
---|
CultureInfo | culture | Desired culture. If null then used <xref href="System.Globalization.CultureInfo.CurrentCulture" data-throw-if-not-resolved="false"></xref> |
Returns
Type | Description |
---|
string | Localized scheme name if exists, else just <see cref="!:ProcessDefinition.Name"></see> |
Returns localized comment in specific culture
Declaration
public string GetLocalizedComment(string key, CultureInfo culture = null)
Parameters
Type | Name | Description |
---|
string | key | Key for search localized comment |
CultureInfo | culture | Desired culture. If null then used <xref href="System.Globalization.CultureInfo.CurrentCulture" data-throw-if-not-resolved="false"></xref> |
Returns
Type | Description |
---|
string | Localized value if exists, else input <code data-dev-comment-type="paramref" class="paramref">key</code> |
Clone()
Declaration
public ProcessDefinition Clone()
Returns
Type | Description |
---|
ProcessDefinition | |
Clone(bool, bool, bool)
Clones ProcessDefinition object
Declaration
public ProcessDefinition Clone(bool doNotCloneActivities, bool doNotCloneTransitions, bool doNotCloneCodeActions)
Parameters
Type | Name | Description |
---|
bool | doNotCloneActivities | If True activity list will be empty after cloning |
bool | doNotCloneTransitions | If True transition list will be empty after cloning |
bool | doNotCloneCodeActions | If True code actions list will be empty after cloning |
Returns
Type | Description |
---|
ProcessDefinition | Cloned ProcessDefinition object |
GetSchemeCodeForActionCall()
Returns the code of the scheme from which the actions are called. For a subprocess it will be RootSchemeCode for root (ordinary) process it will be Name
Declaration
public string GetSchemeCodeForActionCall()
Returns
Serialize()
Declaration
public string Serialize()
Returns
SerializeToXElement()
Declaration
public XElement SerializeToXElement()
Returns
GetActivityAnnotation<T>(string, string)
Get an annotation of an activity
Declaration
public T GetActivityAnnotation<T>(string activityName, string name)
Parameters
Type | Name | Description |
---|
string | activityName | Activity name |
string | name | Annotation name |
Returns
Type | Description |
---|
{T} | Annotation value |
GetActivityAnnotation(string, string)
Get a JSON representation of annotation's value of an activity
Declaration
public string GetActivityAnnotation(string activityName, string name)
Parameters
Type | Name | Description |
---|
string | activityName | Activity name |
string | name | Annotation name |
Returns
Type | Description |
---|
string | JSON representation of annotation's value |
GetTransitionAnnotation<T>(string, string)
Get an annotation of a transition
Declaration
public T GetTransitionAnnotation<T>(string transitionName, string name)
Parameters
Type | Name | Description |
---|
string | transitionName | Transition name |
string | name | Annotation name |
Returns
Type | Description |
---|
{T} | Annotation value |
GetTransitionAnnotation(string, string)
Get a JSON representation of annotation's value of a transition
Declaration
public string GetTransitionAnnotation(string transitionName, string name)
Parameters
Type | Name | Description |
---|
string | transitionName | Transition name |
string | name | Annotation name |
Returns
Type | Description |
---|
string | JSON representation of annotation's value |
Extension Methods