using Rugrid.Sdaid.Notation.Documents;
using Rugrid.Sdaid.Epas.Nts.Domain;
namespace Rugrid.Sdaid.Epas.Nts.Ui
{
/// <summary>
/// Типовая карточка записи справочника ЭНТС: просмотр, создание и изменение одной записи.
/// Конкретный справочник и запись задаются контекстом открытия.
/// </summary>
public class DOC_NtsReferenceRecordCard : IPageDocument, IHasStructuralLinks, IFolder<NtsUiFolder>
{
public SdaidLink[] Links => new[]
{
Rel.Uses<DOC_VehicleMark>(),
Rel.Uses<DOC_VehicleMarkAlias>(),
Rel.Uses<DOC_VehicleModel>(),
Rel.Uses<DOC_WinterAllowance>(),
Rel.Uses<DOC_Subject>(),
};
public static string _refName = "Карточка записи справочника";
public string Name => "Карточка записи справочника";
public string Description =>
@"Просмотр, создание и изменение одной записи выбранного справочника ЭНТС. Состав полей зависит от справочника.";
public string Version => "0.1";
public string Status => "draft";
public string[] Comments => new string[0];
public static string Structure = $$""""
## Структура экрана
Третье, завершающее звено стандартного механизма ведения справочников ЭНТС — условия
открытия этой карточки (кто, когда, для каких справочников) заданы на вызывающей стороне,
{{SdaidAnchors.RefTo<DOC_NtsReferenceRecords>()}}; специализированные экраны отдельных
справочников, например {{SdaidAnchors.RefTo<DOC_VehicleMarkRegistry>()}}, открывают её тем
же способом. Состав и способ заполнения полей определяются доменными полями выбранного
справочника; обязательность — по правилам этих полей (`RequiredOnCreate`).
### Основные интерфейсные элементы
| Элемент | Роль |
|---|---|
| Поля записи | Состав — по доменным полям выбранного справочника |
| Кнопки «Сохранить», «Отменить» | Сохранение записи / выход без изменений |
### Поведение
- «Сохранить» создаёт или изменяет запись выбранного справочника.
- «Отменить» — закрытие без сохранения, возврат к списку записей.
"""";
}
}