⟨/⟩ Nts/50_Domain/Reference/VehicleMark.cs

41 строк · в начало

using System;
using Rugrid.Sdaid.Notation.Documents;

namespace Rugrid.Sdaid.Epas.Nts.Domain
{
    /// <summary>
    /// Справочник «Марка ТС»: собственный справочник модуля, ведётся средствами ЭНТС.
    /// Плоский (без привязки к виду ТС) — конкретная связка «вид + марка» задаётся модификацией.
    /// </summary>
    public class DOC_VehicleMark : IDomainEntityDocument, IFolder<NtsDomainFolder>
    {
        public static string _refName = "Марка ТС";

        public string Name => "Марка ТС";

        public string Description => $"""
            Марка (бренд) транспортного средства. Альтернативные наименования (синонимы) марки,
            используемые при распознавании марки в тексте из АИС, — отдельная сущность
            {SdaidAnchors.RefTo<DOC_VehicleMarkAlias>()}.
            """;

        public string Version => "0.1";
        public string Status => "draft";
        public string[] Comments => new string[0];
        public Type Entity => typeof(VehicleMark);
    }

    /// <summary>Доменная сущность «Марка ТС».</summary>
    [DomainEntity]
    public class VehicleMark
    {
        /// <summary>Идентификатор записи</summary>
        [DomainField(Alias = "id", RequiredOnCreate = true, Range = "UUID", Immutable = true)]
        public Guid Id { get; set; }

        /// <summary>Наименование</summary>
        [DomainField(Alias = "name", RequiredOnCreate = true)]
        public string? Name { get; set; }
    }
}