@model SceneEditViewModel @{ var povCharacterId = Model.POVCharacterID ?? Model.SceneCharacters.FirstOrDefault(x => x.RoleInSceneTypeName?.Contains("POV", StringComparison.OrdinalIgnoreCase) == true)?.CharacterID; var suggestionCount = Model.CharacterSuggestions.Count + Model.AssetSuggestions.Count + Model.LocationSuggestions.Count; static string PreviewText(string? value, string fallback) => string.IsNullOrWhiteSpace(value) ? fallback : value.Trim(); }

People

Characters and relationships

Characters in scene @if (!Model.SceneCharacters.Any()) {

No characters have been added to this scene.

} else { @if (Model.SceneCharacters.Count > 6) {

+ @(Model.SceneCharacters.Count - 6) more

} }
@if (Model.CharacterKnowledge.Any()) {
Knowledge changes @Model.CharacterKnowledge.Count
    @foreach (var item in Model.CharacterKnowledge.Take(3)) {
  • @item.CharacterName @PreviewText(item.Description, $"is marked as {item.KnowledgeStateName}.")
  • }
} @if (Model.RelationshipEvents.Any()) {
Relationship changes @Model.RelationshipEvents.Count
    @foreach (var item in Model.RelationshipEvents.Take(3)) {
  • @item.CharacterAName ↔ @item.CharacterBName @PreviewText(item.Description, $"{item.RelationshipStateName} / {item.RelationshipTypeName}.")
  • }
} @if (Model.CharacterAttributeEvents.Any()) {
Attribute changes @Model.CharacterAttributeEvents.Count
    @foreach (var item in Model.CharacterAttributeEvents.Take(3)) {
  • @item.CharacterName @item.AttributeName: @item.AttributeValue
  • }
} @if (suggestionCount > 0) {
@suggestionCount Word Companion suggestion@(suggestionCount == 1 ? "" : "s") pending
}