Здание (сущность)

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

Алиасы: Здание (сущность), Здание. parents: [building-diaram].

⟨/⟩ Исходник

Связи

classDiagram
    direction LR
    class Building {
        +Guid id
        +Guid ais_id
        +OrgObject nav_id
        +String name
        +String address
        +ClimateRegion climate_region_id
        +DateTime start_date
        +DateTime finish_date
    }
    class OrgObject
    class ClimateRegion
    Building "1" --> "1" OrgObject : nav_id
    Building "0..1" --> "1" ClimateRegion : climate_region_id

Структура

НаименованиеАтрибутТипОбязательно для созданияДиапазон / форматНеизменяемостьОписание
Идентификатор записиidGuidДаДа
ИД объекта в АИСais_idGuidНетДаИД объекта в АИС ОИА ПЭО
Организационный объектnav_idOrgObjectДа
НаименованиеnameStringДа
АдресaddressStringДа
Климатический районclimate_region_idClimateRegionНет
Дата начала эксплуатацииstart_dateDateTimeНетДата [01.01.1850; 01.01.2099]
Дата окончания эксплуатацииfinish_dateDateTimeНетДата [01.01.1850; 01.01.2099]

Исходник

    public class Building
    {
        /// <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 = "nav_id", RequiredOnCreate = true)]
        public OrgObject? Nav { get; set; }

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

        /// <summary>Адрес</summary>
        [DomainField(Alias = "address", RequiredOnCreate = true)]
        public string? Address { get; set; }

        /// <summary>Климатический район</summary>
        [Relation]
        [DomainField(Alias = "climate_region_id")]
        public ClimateRegion? ClimateRegion { get; set; }

        /// <summary>Дата начала эксплуатации</summary>
        [DomainField(Alias = "start_date", Range = "Дата [01.01.1850; 01.01.2099]")]
        public DateTime StartDate { get; set; }

        /// <summary>Дата окончания эксплуатации</summary>
        [DomainField(Alias = "finish_date", Range = "Дата [01.01.1850; 01.01.2099]")]
        public DateTime FinishDate { get; set; }
    }