⟨/⟩ Ntr/50_Domain/Reference/SpecificHeatConsumptionNorm.cs

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

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

namespace Rugrid.Sdaid.Epas.Ntr.Domain.Reference
{
    /// <summary>
    /// Доменная сущность. Перенесено дословно из ntr-01/domain/reference/specific-heat-consumption-norm.md.
    /// </summary>
    public class DOC_SpecificHeatConsumptionNorm : IDomainEntityDocument, IHasStructuralLinks, IFolder<NtrDomainFolder>
    {
        public SdaidLink[] Links => new[]
        {
            Rel.Uses<Rugrid.Sdaid.Epas.Ntr.Domain.Reference.DOC_BuildingPurpose>(),
        };

        public static string _refName = "Нормируемая удельная характеристика расхода тепловой энергии на отопление и вентиляцию";

        public string Name => "Нормируемая удельная характеристика расхода тепловой энергии на отопление и вентиляцию";

        public string Description => "Алиасы: Нормируемая удельная характеристика расхода тепловой энергии на отопление и вентиляцию. parents: [operating-conditions].";

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

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

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

        /// <summary>Дата и время изменения в АИС ОИА ПЭО</summary>
        [DomainField(Alias = "ais_modified")]
        public DateTime AisModified { get; set; }

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

        /// <summary>Код</summary>
        [DomainField(Alias = "code", RequiredOnCreate = true)]
        public string? Code { get; set; }

        /// <summary>Назначение здания</summary>
        [Relation]
        [DomainField(Alias = "==Ошибочная связь==<br>building_purpose_id", RequiredOnCreate = true)]
        public BuildingPurpose? BuildingPurpose { get; set; }

        /// <summary>Этажность</summary>
        [DomainField(Alias = "floors", RequiredOnCreate = true)]
        public int Floors { get; set; }

        /// <summary>Нормативная удельная характеристика расхода ТЭ на отопление и вентиляцию, Вт/(м³·°C)</summary>
        [DomainField(
            Alias = "specific_heat_protection_char_norm_w_per_m3c",
            RequiredForCalc = "Да",
            Unit = "Вт/(м³·°C)",
            Range = "Вещественное (0; 100]"
        )]
        public decimal SpecificHeatProtectionCharNormWPerM3c { get; set; }

        /// <summary>Источник мастер-данных</summary>
        [DomainField(Alias = "source_system_alias", RequiredOnCreate = true, Default = "\"service_ntr\"")]
        public string? SourceSystemAlias { get; set; }
    }

}