Table of Contents

Class ReportModel

Namespace
Cryville.EEW.Report
Assembly
Cryville.EEW.dll
Represents a report of an event.
public sealed record ReportModel : IEquatable<ReportModel>
Inheritance
ReportModel
Implements
Inherited Members

Properties

Culture

The culture of the report.
public CultureInfo Culture { get; }

Property Value

CultureInfo

GroupKeys

The group keys of the report.
public ICollection<IReportGroupKey> GroupKeys { get; }

Property Value

ICollection<IReportGroupKey>

InvalidatedTime

The time when the report is to be invalidated.
public DateTimeOffset? InvalidatedTime { get; set; }

Property Value

DateTimeOffset?

Remarks

May be null if the report does not represent an ongoing event.

IsExcludedFromHistory

Whether the report should be excluded from the history list.
public bool IsExcludedFromHistory { get; set; }

Property Value

bool

Location

The location of the event.
public string? Location { get; set; }

Property Value

string

LocationSpecificity

The specificity of the location described by Location.
public int LocationSpecificity { get; set; }

Property Value

int

Remarks

This value conforms to the values of the admin_level key in OpenStreetMap, with the following extented values.

0Unknown specificity or unknown location
12A specific point that is inside the smallest possible local administrative region

Use the value 3 for a location that conforms to F-E regionalization.

Generally, when reports are grouped, the location of the report with the highest location specificity will be used as the displayed location name of the group.

Model

The original data model of the report.
public object? Model { get; set; }

Property Value

object

Remarks

It is not necessary to set this property in the generator if the model is the input model.

Predicate

The predicate of the report.
public string? Predicate { get; set; }

Property Value

string

Remarks

May be null if the predicate is obvious enough or can be inferred from the title.

Properties

The properties of the event.
public IList<ReportProperty> Properties { get; }

Property Value

IList<ReportProperty>

Remarks

The properties should be ordered so that properties of more importance appear more to the front within the list. The first property in the list is generally treated as the key property of the report and is displayed emphasized.

RevisionKey

The revision key of the report.
public IReportRevisionKey? RevisionKey { get; set; }

Property Value

IReportRevisionKey

Remarks

Should be set if the report has any unit key.

Source

The source of the report.
public string? Source { get; set; }

Property Value

string

Time

The time of the event.
public DateTimeOffset? Time { get; set; }

Property Value

DateTimeOffset?

TimeZone

The time zone of the source.
public TimeZoneInfo? TimeZone { get; set; }

Property Value

TimeZoneInfo

Remarks

Should be set if either Time or InvalidatedTime is not null.

Title

The title of the report.
public string? Title { get; set; }

Property Value

string

UnitKeys

The unit keys of the report.
public IReadOnlyCollection<IReportUnitKey> UnitKeys { get; }

Property Value

IReadOnlyCollection<IReportUnitKey>

Remarks

This collection is read-only. Add unit keys by calling the Add(T) method on GroupKeys.

UtcIssueTime

The time when the report is issued, in UTC.
public DateTime UtcIssueTime { get; set; }

Property Value

DateTime

Remarks

If not explicitly set, this property is set to the time when the instance is created.