Class ReportableModelBase
- Namespace
- CSF.Screenplay.ReportModel
- Assembly
- CSF.Screenplay.dll
Model represents anything which may be reported-upon within an IPerformance.
[JsonPolymorphic(TypeDiscriminatorPropertyName = "Type")]
[JsonDerivedType(typeof(ActorCreatedReport), "ActorCreatedReport")]
[JsonDerivedType(typeof(ActorGainedAbilityReport), "ActorGainedAbilityReport")]
[JsonDerivedType(typeof(ActorSpotlitReport), "ActorSpotlitReport")]
[JsonDerivedType(typeof(SpotlightTurnedOffReport), "SpotlightTurnedOffReport")]
[JsonDerivedType(typeof(PerformableReport), "PerformableReport")]
public abstract class ReportableModelBase
- Inheritance
-
ReportableModelBase
- Derived
- Inherited Members
Remarks
This base model has subclasses for each of the specific types of event which may be reported-upon.
Properties
ActorName
Gets or sets the name of the Actor who is associated with this report.
public string ActorName { get; set; }
Property Value
Remarks
Almost all reportables involve an actor, it is rare for this value to be unset (IE: null).
Report
Gets or sets the human-readable text of the report.
public string Report { get; set; }
Property Value
Started
Gets or sets the relative time at which this reportable event occurred.
public TimeSpan Started { get; set; }
Property Value
Remarks
For many types of reportable items (derived from this type), only the start time is recorded, because it is expected that the activity upon which is being reported takes a trivial amount of time. For PerformableReport instances, an end time is also recorded, as these are expected to take an appreciable amount of time.
This property is expressed as an amount of time since the Screenplay began. The beginning of the Screenplay is recorded in the report metadata, at Timestamp.
Recall that it is quite normal for performances and thus reportable actions to occur in parallel. Do not be alarmed if it appears that unrelated performances are interleaved with regard to their timings.
- See Also