using System;
using Rugrid.Sdaid.Notation.Documents;
namespace Rugrid.Sdaid.Epas.Nts.Domain
{
/// <summary>
/// Справочник «Модели ТС»: модель привязана к марке (обязательная ссылка). Справочник
/// модуля; используется справочником «Марка, модель и модификация ТС».
/// </summary>
public class DOC_VehicleModel : IDomainEntityDocument, IHasStructuralLinks, IFolder<NtsDomainFolder>
{
public SdaidLink[] Links => new[]
{
Rel.Uses<DOC_VehicleMark>(),
};
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 Type Entity => typeof(VehicleModel);
}
/// <summary>Доменная сущность «Модель ТС».</summary>
[DomainEntity]
public class VehicleModel
{
/// <summary>Идентификатор записи</summary>
[DomainField(Alias = "id", RequiredOnCreate = true, Range = "UUID", Immutable = true)]
public Guid Id { get; set; }
/// <summary>Код</summary>
[DomainField(Alias = "code")]
public string? Code { get; set; }
/// <summary>Наименование</summary>
[DomainField(Alias = "name", RequiredOnCreate = true)]
public string? Name { get; set; }
/// <summary>Марка ТС</summary>
[Relation]
[DomainField(Alias = "vehicle_mark_id", RequiredOnCreate = true,
Description = "Модель обязательно относится к марке")]
public VehicleMark? VehicleMark { get; set; }
}
}