using Hcs.Broker.Api.Registry;
using Hcs.Service.Async.HouseManagement;

namespace Hcs.Broker.Api.Payload.HouseManagement
{
    // http://open-gkh.ru/HouseManagement/importHouseUORequest/LivingHouse/LivingHouseToCreate.html
    // http://open-gkh.ru/HouseManagement/HouseBasicUOType.html
    public class ImportLivingHouseUODataPayload
    {
        /// <summary>
        /// Глобальный уникальный идентификатор дома по ФИАС
        /// </summary>
        public Guid fiasHouseGuid;

        /// <summary>
        /// Общая площадь здания
        /// </summary>
        public decimal totalSquare;

        /// <summary>
        /// Состояние (НСИ 24)
        /// </summary>
        public RegistryElement state;

        /// <summary>
        /// Необязательное. Стадия жизненного цикла (НСИ 338).
        /// </summary>
        public RegistryElement lifeCycleStage;

        /// <summary>
        /// Год ввода в эксплуатацию. До 2215 включительно.
        /// </summary>
        public short usedYear;

        /// <summary>
        /// Количество этажей. До 999 включительно.
        /// </summary>
        public int floorCount;

        /// <summary>
        /// Необязательное. ОКТМО (обязательное для всех территорий, за исключением города и космодрома
        /// "Байконур"). Значение из ФИАС при наличии.
        /// </summary>
        public OKTMORefType oktmo;

        /// <summary>
        /// Часовая зона. Справочник 32.
        /// </summary>
        public RegistryElement olsonTZ;

        /// <summary>
        /// Наличие у дома статуса объекта культурного наследия
        /// </summary>
        public bool culturalHeritage;

        /// <summary>
        /// Необязательное. Данные ОЖФ
        /// </summary>
        public OGFData[] ogfData;

        /// <summary>
        /// Необязательное. Дом находится в муниципальной собственности и в полном объеме используется
        /// в качестве общежития. Принимает только false.
        /// </summary>
        public bool isMunicipalProperty;

        /// <summary>
        /// Необязательное. Дом находится в собственности субъекта Российской Федерации и в полном объеме
        /// используется в качестве общежития. Принимает только false.
        /// </summary>
        public bool isRegionProperty;

        /// <summary>
        /// Кадастровый номер
        /// </summary>
        public string cadastralNumber;

        /// <summary>
        /// Условный номер. При указании в ГИС ЖКХ осуществляется привязка к ЕГРП (поиск в ЕГРП выполняется
        /// по условному номеру).
        /// </summary>
        public string conditionalNumber;

        /// <summary>
        /// Необязательное. Жилой дом блокированной застройки (если не указан - аналог false).
        /// </summary>
        public bool hasBlocks;

        /// <summary>
        /// Необязательное. Несколько жилых домов с одинаковым адресом (если не указан - аналог false)
        /// </summary>
        public bool hasMultipleHousesWithSameAddress;
    }
}
