using System;
using Rugrid.Sdaid.Notation.Documents;
namespace Rugrid.Sdaid.Epas.Nts.Domain
{
/// <summary>
/// Справочник «Тип организационного объекта»: собственный справочник модуля.
/// Значения: компания, МЭС, ПМЭС. Код значения и обозначение типа в АИС — разные атрибуты.
/// </summary>
public class DOC_NavType : IDomainEntityDocument, IFolder<NtsDomainFolder>
{
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(NavType);
}
/// <summary>Доменная сущность «Тип организационного объекта».</summary>
[DomainEntity]
public class NavType
{
/// <summary>Идентификатор записи</summary>
[DomainField(Alias = "id", RequiredOnCreate = true, Range = "UUID", Immutable = true)]
public Guid Id { get; set; }
/// <summary>Код</summary>
[DomainField(Alias = "code", RequiredOnCreate = true,
Description = "Код значения: company, mes, pmes")]
public string? Code { get; set; }
/// <summary>Обозначение типа в АИС</summary>
[DomainField(Alias = "ais_alias", RequiredOnCreate = true,
Description = "Псевдоним типа объектов навигации в АИС: o_fsk, o_mes, o_pmes")]
public string? AisAlias { get; set; }
/// <summary>Наименование</summary>
[DomainField(Alias = "name", RequiredOnCreate = true)]
public string? Name { get; set; }
}
}