⟨/⟩ Ntr/50_Domain/OrgObjectModel/MES.cs

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

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

namespace Rugrid.Sdaid.Epas.Ntr.Domain.OrgObjectModel
{
    /// <summary>
    /// Доменная сущность. Перенесено дословно из ntr-01/domain/org-object-model/mes.md.
    /// </summary>
    public class DOC_MES : IDomainEntityDocument, IHasStructuralLinks, IFolder<NtrDomainFolder>
    {
        public SdaidLink[] Links => new[]
        {
            Rel.Uses<Rugrid.Sdaid.Epas.Ntr.Domain.OrgObjectModel.DOC_Company>(),
        };

        public static string _refName = "МЭС (сущность)";

        public string Name => "МЭС (сущность)";

        public string Description => "Алиасы: МЭС (сущность), МЭС. parents: [org-object-model].";

        public string Version => "1.0";
        public string Status => "accepted";
        public string[] Comments => new string[0];
        public Type Entity => typeof(MES);
    }

    /// <summary>
    /// Доменная сущность «МЭС (сущность)».
    /// Класс — источник структуры: таблица свойств и диаграмма связей на странице документа
    /// строятся генератором по нему. Прозу и разбор ведёт документ DOC_MES.
    /// </summary>
    [DomainEntity]
    public class MES
    {
        /// <summary>Идентификатор записи</summary>
        [DomainField(Alias = "id", RequiredOnCreate = true, Immutable = true)]
        public Guid Id { get; set; }

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

        /// <summary>Вышестоящее подразделение</summary>
        [Relation]
        [DomainField(Alias = "company_id", RequiredOnCreate = true)]
        public Company? Company { get; set; }

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

        /// <summary>Область</summary>
        [DomainField(Alias = "region", Description = "Загружается из АИС ОИА ПЭО")]
        public string? Region { get; set; }

        /// <summary>Город</summary>
        [DomainField(Alias = "city", Description = "Загружается из АИС ОИА ПЭО")]
        public string? City { get; set; }

        /// <summary>Субъект Российской Федерации</summary>
        [DomainField(Alias = "subject",
            Description = "Проставляется в Сервисе; ссылка по наименованию на справочник «Предельные значения зимних надбавок» (модуль ЭНТС). Определяет зимнюю надбавку для ТС, числящихся за МЭС")]
        public string? Subject { get; set; }
    }

}