⟨/⟩ Nts/50_Domain/Navs/NavMes.cs

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

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

namespace Rugrid.Sdaid.Epas.Nts.Domain
{
    /// <summary>Справочник «МЭС» (оргструктура ЭНТС, ведётся локально).</summary>
    public class DOC_NavMes : IDomainEntityDocument, IHasStructuralLinks, IFolder<NtsDomainFolder>
    {
        public SdaidLink[] Links => new[] { Rel.Uses<DOC_NavCompany>() };

        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(NavMes);
    }

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

        /// <summary>ИД объекта в АИС</summary>
        [DomainField(Alias = "ais_id", Immutable = true)]
        public Guid? AisId { get; set; }

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

        /// <summary>Компания</summary>
        [Relation]
        [DomainField(Alias = "company_id", RequiredOnCreate = true)]
        public NavCompany? Company { get; set; }
    }
}