using System;
using Rugrid.Sdaid.Notation.Documents;
namespace Rugrid.Sdaid.Epas.Nts.Domain
{
/// <summary>
/// Справочник «Алиас марки ТС»: альтернативное наименование (синоним) марки, используемое
/// при распознавании марки в тексте из АИС («лада» → ВАЗ, «мерседес» → Mercedes-Benz).
/// У одной марки может быть несколько алиасов.
/// </summary>
public class DOC_VehicleMarkAlias : 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(VehicleMarkAlias);
}
/// <summary>Доменная сущность «Алиас марки ТС».</summary>
[DomainEntity]
public class VehicleMarkAlias
{
/// <summary>Идентификатор записи</summary>
[DomainField(Alias = "id", RequiredOnCreate = true, Range = "UUID", Immutable = true)]
public Guid Id { get; set; }
/// <summary>Алиас</summary>
[DomainField(Alias = "alias", RequiredOnCreate = true)]
public string? Alias { get; set; }
/// <summary>Марка ТС</summary>
[Relation]
[DomainField(Alias = "vehicle_mark_id", RequiredOnCreate = true,
Description = "Алиас обязательно относится к марке")]
public VehicleMark? VehicleMark { get; set; }
}
}