Class Activity
public class Activity
- Inheritance
-
Activity
- Inherited Members
- Extension Methods
Properties
ActivityType
[JsonIgnore]
public ActivityType? ActivityType { get; }
Property Value
- ActivityType
AuthorizedReadRoles
public string[] AuthorizedReadRoles { get; }
Property Value
- string[]
AuthorizedWriteRoles
public string[] AuthorizedWriteRoles { get; }
Property Value
- string[]
Children
[JsonConverter(typeof(ActivityReferencesConverter))]
public IEnumerable<Activity> Children { get; }
Property Value
Data
[JsonConverter(typeof(DataTypeConverter))]
public Type Data { get; }
Property Value
- Type
Deadline
public DateTimeOffset? Deadline { get; }
Property Value
Description
public string Description { get; }
Property Value
EffectParameters
[JsonIgnore]
public IEnumerable<KeyValuePair<string, string>> EffectParameters { get; }
Property Value
EffectiveWriteRoles
public string[] EffectiveWriteRoles { get; }
Property Value
- string[]
Executed
public DateTimeOffset? Executed { get; }
Property Value
FormCancelTitle
public string? FormCancelTitle { get; }
Property Value
FormSubmitTitle
public string? FormSubmitTitle { get; }
Property Value
Id
public string Id { get; }
Property Value
InstanceRequiredParameters
[JsonIgnore]
public string[] InstanceRequiredParameters { get; }
Property Value
- string[]
IsContainer
public bool IsContainer { get; }
Property Value
IsEnabled
public bool IsEnabled { get; }
Property Value
IsEvent
public bool IsEvent { get; }
Property Value
IsForm
public bool IsForm { get; }
Property Value
IsInForm
public bool IsInForm { get; }
Property Value
IsIncluded
Returns true iff the activity and all its subprocess-ancestors are included.
public bool IsIncluded { get; }
Property Value
Remarks
In academic literature and in earlier engine versions, this property is called 'effectively included'
IsLocallyAccepting
public bool IsLocallyAccepting { get; }
Property Value
IsLocallyIncluded
public bool IsLocallyIncluded { get; }
Property Value
IsLocallyPending
public bool IsLocallyPending { get; }
Property Value
IsMaterial
public bool IsMaterial { get; }
Property Value
IsPastDeadline
public bool IsPastDeadline { get; }
Property Value
IsPending
public bool IsPending { get; }
Property Value
IsProductive
public bool IsProductive { get; }
Property Value
IsSubprocess
public bool IsSubprocess { get; }
Property Value
IsTopLevel
public bool IsTopLevel { get; }
Property Value
Kind
[JsonConverter(typeof(KindConverter))]
public Process.Kind Kind { get; }
Property Value
- Process.Kind
Label
public string Label { get; }
Property Value
Model
[JsonIgnore]
public Model Model { get; }
Property Value
Parent
[JsonConverter(typeof(ActivityReferenceConverter))]
public Activity? Parent { get; }
Property Value
Phases
public Phase[] Phases { get; }
Property Value
- Phase[]
Purpose
public string Purpose { get; }
Property Value
ReadRoles
public Role[] ReadRoles { get; }
Property Value
- Role[]
Responsibles
public string[] Responsibles { get; }
Property Value
- string[]
Roles
public Role[] Roles { get; }
Property Value
- Role[]
Sequence
Return the sequence number of this activity
public int Sequence { get; }
Property Value
Remarks
Use the sequence number for visual representation, e.g., ordering of form fields. DCR XML currently has sequence numbers in the raw event and in dataType tags. We use only the latter, and compute subprocess sequences numbers recursively as the maximum of their descendants
Note that this property is unlikely to give you the results you want if your graph contains dynamically spawned subgraphs.
Tags
public IEnumerable<string> Tags { get; }
Property Value
Value
[JsonConverter(typeof(ValueConverter))]
public value Value { get; }
Property Value
- value
Whynot
[JsonConverter(typeof(WhyNotConverter))]
public List<Process.Reason> Whynot { get; }
Property Value
- List<Process.Reason>
Methods
CheckPrecondition(out string?, string?)
public bool CheckPrecondition(out string? errorMsg, string? user = null)
Parameters
Returns
Equals(object?)
public override bool Equals(object? obj)
Parameters
obj
object
Returns
GetHashCode()
public override int GetHashCode()
Returns
HasPhase(string)
public bool HasPhase(string phase)
Parameters
phase
string
Returns
HasReadRole(string)
public bool HasReadRole(string role)
Parameters
role
string
Returns
HasRole(string)
public bool HasRole(string role)
Parameters
role
string
Returns
HasTag(string)
Check if this activity has the given tag
public bool HasTag(string tag)
Parameters
tag
string
Returns
Remarks
Note that "tags" in th e portal are called "groups" in the DCR XML. Note moreover that DCR.Core has a different notion of tags. This method does not check DCR.Core tags.
IsAuthorizedToExecute(string)
public bool IsAuthorizedToExecute(string role)
Parameters
role
string
Returns
IsAuthorizedToExecute(string[])
public bool IsAuthorizedToExecute(string[] roles)
Parameters
roles
string[]
Returns
IsAuthorizedToRead(string)
public bool IsAuthorizedToRead(string role)
Parameters
role
string
Returns
IsAuthorizedToRead(string[])
public bool IsAuthorizedToRead(string[] roles)
Parameters
roles
string[]
Returns
IsDescendantOf(Activity)
public bool IsDescendantOf(Activity other)
Parameters
other
Activity
Returns
IsPendingUnder(Activity)
Returns true iff every ancestor of this activity below and including the parameter is locally included and locally pending.
public bool IsPendingUnder(Activity ancestor)
Parameters
ancestor
Activity
Returns
Remarks
This is useful to execute part of a DCR graph, disregarding the part above the ancestor parameter. In particular, it can be used to emulate form execution under transactional/"Split" behaviour.
Permission(string)
public ActivityPermission Permission(string role)
Parameters
role
string
Returns
Permission(string[])
public ActivityPermission Permission(string[] roles)
Parameters
roles
string[]
Returns
ToJson()
public string ToJson()
Returns
ToString()
public override string ToString()
Returns
ToString(string)
public string ToString(string fmt)
Parameters
fmt
string