Условия отопительного периода

Доменная сущность Версия: 1.0 accepted

Алиасы: Условия отопительного периода. parents: [consumption-model-diagram].

⟨/⟩ Исходник

Связи

classDiagram
    direction LR
    class HeatingPeriod {
        +Guid id
        +Guid ais_id
        +HeatingPeriodModel heating_period_model_id
        +DateTime heating_period_start_date
        +DateTime heating_period_finish_date
        +Decimal ext_air_temp_c
        +Int32 heating_period_duration
        +Decimal degree_days
    }
    class HeatingPeriodModel
    HeatingPeriod "1" --> "1" HeatingPeriodModel : heating_period_model_id

Структура

НаименованиеАтрибутТипОбязательно для созданияТребуется для расчётаВычисляемый, методикаЕИДиапазон / форматНеизменяемость
Идентификатор записиidGuidДаUUIDДа
ais_heating_periods_idais_idGuidНет
Модель отопительного периодаheating_period_model_idHeatingPeriodModelДа
Дата начала отопительного периодаheating_period_start_dateDateTimeНетДаНет
Дата окончания отопительного периодаheating_period_finish_dateDateTimeНетДаНет
Средняя температура наружного воздуха, °Cext_air_temp_cDecimalНетДаНет°Cвещественное [-70; 70]
Продолжительность отопительного периода, сут.heating_period_durationInt32НетДаДасут.целое [0, 366]
Градусо-сутки отопительного периода, ℃·сут.degree_daysDecimalНетДаДа℃·сут.вещественное ≥ [0; 10000]

Исходник

    public class HeatingPeriod
    {
        /// <summary>Идентификатор записи</summary>
        [DomainField(Alias = "id", RequiredOnCreate = true, Range = "UUID", Immutable = true)]
        public Guid Id { get; set; }

        /// <summary>ais_heating_periods_id</summary>
        [DomainField(Alias = "ais_id")]
        public Guid AisId { get; set; }

        /// <summary>Модель отопительного периода</summary>
        [Relation]
        [DomainField(Alias = "heating_period_model_id", RequiredOnCreate = true)]
        public HeatingPeriodModel? HeatingPeriodModel { get; set; }

        /// <summary>Дата начала отопительного периода</summary>
        [DomainField(Alias = "heating_period_start_date", RequiredForCalc = "Да", Calculated = "Нет")]
        public DateTime HeatingPeriodStartDate { get; set; }

        /// <summary>Дата окончания отопительного периода</summary>
        [DomainField(Alias = "heating_period_finish_date", RequiredForCalc = "Да", Calculated = "Нет")]
        public DateTime HeatingPeriodFinishDate { get; set; }

        /// <summary>Средняя температура наружного воздуха, °C</summary>
        [DomainField(Alias = "ext_air_temp_c", RequiredForCalc = "Да", Calculated = "Нет", Unit = "°C", Range = "вещественное [-70; 70]")]
        public decimal ExtAirTempC { get; set; }

        /// <summary>Продолжительность отопительного периода, сут.</summary>
        [DomainField(Alias = "heating_period_duration", RequiredForCalc = "Да", Calculated = "Да", Unit = "сут.", Range = "целое [0, 366]")]
        public int HeatingPeriodDuration { get; set; }

        /// <summary>Градусо-сутки отопительного периода, ℃·сут.</summary>
        [DomainField(Alias = "degree_days", RequiredForCalc = "Да", Calculated = "Да", Unit = "℃·сут.", Range = "вещественное ≥ [0; 10000]")]
        public decimal DegreeDays { get; set; }
    }