151 строк · в начало
using System;
using Rugrid.Sdaid.Notation.Documents;
namespace Rugrid.Sdaid.Epas.Ntr.Domain.ConsumptionModel
{
/// <summary>
/// Доменная сущность. Перенесено дословно из ntr-01/domain/consumption-model/ventilation.md.
/// </summary>
public class DOC_Ventilation : IDomainEntityDocument, IHasStructuralLinks, IFolder<NtrDomainFolder>
{
public SdaidLink[] Links => new[]
{
Rel.Uses<Rugrid.Sdaid.Epas.Ntr.Domain.ConsumptionModel.DOC_ConsumptionModel>(),
};
public static string _refName = "Вентиляция (сущность)";
public string Name => "Вентиляция (сущность)";
public string Description => "Алиасы: Вентиляция (сущность). parents: [consumption-model-diagram].";
public string Version => "1.0";
public string Status => "accepted";
public string[] Comments => new string[0];
public Type Entity => typeof(Ventilation);
}
/// <summary>
/// Доменная сущность «Вентиляция (сущность)».
/// Класс — источник структуры: таблица свойств и диаграмма связей на странице документа
/// строятся генератором по нему. Прозу и разбор ведёт документ DOC_Ventilation.
/// </summary>
[DomainEntity]
public class Ventilation
{
/// <summary>Идентификатор записи</summary>
[DomainField(Alias = "id", RequiredOnCreate = true, Range = "UUID", Immutable = true)]
public Guid Id { get; set; }
/// <summary>Модель потребления</summary>
[Relation]
[DomainField(Alias = "consumption_model_id", RequiredOnCreate = true, Immutable = true)]
public ConsumptionModel? ConsumptionModel { get; set; }
/// <summary>Наличие искусственной вентиляции</summary>
[DomainField(Alias = "is_mech_vent_exist", RequiredOnCreate = true, RequiredForCalc = "Да", Default = "false")]
public bool IsMechVentExist { get; set; }
/// <summary>Наличие рекуператора</summary>
[DomainField(Alias = "is_recuperator_exist", RequiredOnCreate = true, RequiredForCalc = "Да", Default = "false")]
public bool IsRecuperatorExist { get; set; }
/// <summary>Коэффициент эффективности рекуператора</summary>
[DomainField(
Alias = "coef_recuperator_efficiency",
RequiredOnCreate = true,
RequiredForCalc = "Да",
Range = "если \"Наличие рекуператора\"=\"Да\", (0; 1], иначе 0",
Default = "0"
)]
public decimal CoefRecuperatorEfficiency { get; set; }
/// <summary>Удельная вентиляционная характеристика, Вт/(м³·°C)</summary>
[DomainField(
Alias = "specific_ventilation_char_wt_per_m3c",
RequiredForCalc = "Да",
Calculated = "Да",
Unit = "`Вт/(м³·°C)`",
Range = "вещественное ≥ 0"
)]
public decimal SpecificVentilationCharWtPerM3c { get; set; }
/// <summary>Энергия теплопотерь, кВт·ч</summary>
[DomainField(Alias = "heat_loss_energy_k_kwt_h", Calculated = "Да", Unit = "кВт·ч", Range = "вещественное > 0")]
public decimal HeatLossEnergyKKwtH { get; set; }
/// <summary>Мощность теплопотерь, кВт</summary>
[DomainField(Alias = "heat_loss_power_kwt", Calculated = "Да", Unit = "кВт", Range = "вещественное > 0")]
public decimal HeatLossPowerKwt { get; set; }
/// <summary>Количество инфильтрующегося воздуха в здание, кг/ч</summary>
[DomainField(
Alias = "air_infiltrating_flow_kg_per_hour",
RequiredForCalc = "Да",
Calculated = "Да",
Unit = "кг/ч",
Range = "вещественное > 0"
)]
public decimal AirInfiltratingFlowKgPerHour { get; set; }
/// <summary>Разность давлений наружного и внутреннего воздуха, Па</summary>
[DomainField(
Alias = "ext_and_int_air_diff_pressure_pa",
RequiredForCalc = "Да",
Calculated = "Да",
Unit = "Па",
Range = "вещественное [-100; 100]"
)]
public decimal ExtAndIntAirDiffPressurePa { get; set; }
/// <summary>Удельный вес наружного воздуха, Н/м³</summary>
[DomainField(
Alias = "ext_air_specific_weight_n_per_m3",
RequiredForCalc = "Да",
Calculated = "Да",
Unit = "Н/м³",
Range = "вещественное > 0"
)]
public decimal ExtAirSpecificWeightNPerM3 { get; set; }
/// <summary>Удельный вес внутреннего воздуха, Н/м³</summary>
[DomainField(
Alias = "int_air_specific_weight_n_per_m3",
RequiredForCalc = "Да",
Calculated = "Да",
Unit = "Н/м³",
Range = "вещественное > 0"
)]
public decimal IntAirSpecificWeightNPerM3 { get; set; }
/// <summary>Средняя плотность приточного воздуха, кг/м³</summary>
[DomainField(Alias = "supply_air_density_kg_per_m3", RequiredForCalc = "Да", Calculated = "Да", Unit = "кг/м³", Range = "вещественное > 0")]
public decimal SupplyAirDensityKgPerM3 { get; set; }
/// <summary>Средняя кратность воздухообмена, ч⁻¹</summary>
[DomainField(Alias = "air_exchange_rate1per_hour", RequiredForCalc = "Да", Calculated = "Да", Unit = "ч⁻¹", Range = "вещественное > 0")]
public decimal AirExchangeRate1perHour { get; set; }
/// <summary>Время работы механической вентиляции, часов в неделю</summary>
[DomainField(
Alias = "mech_vent_operating_time_hour_per_week",
RequiredForCalc = "Да",
Calculated = "Да",
Unit = "часов в неделю",
Range = "если \"Наличие рекуператора\"=\"да\", то 0, иначе - вещественное (0; 168]"
)]
public decimal MechVentOperatingTimeHourPerWeek { get; set; }
/// <summary>Время учета инфильтрации, часов в неделю</summary>
[DomainField(
Alias = "infiltration_accounting_hours_per_week",
RequiredForCalc = "Да",
Calculated = "Да",
Unit = "часов в неделю",
Range = "если \"Наличие рекуператора\"=\"да\", то вещественное (0; 168], иначе 0"
)]
public decimal InfiltrationAccountingHoursPerWeek { get; set; }
}
}