using iTextSharp.xmp.impl;
using System;
using System.Collections.Generic;

namespace FrontendWebApi.Models
{
    public class FindDevice
    {
        public string main_system_tag { get; set; }
        public string sub_system_tag { get; set; }
        public string building_tag { get; set; }
        public string floor_tag { get; set; }
        public string device_guid { get; set; }
        public string device_number { get; set; }
    }

    public class BuildList
    { 
        public string full_name { get; set; }
        public string building_tag { get; set; }
        public string urn_3D { get; set; }
        /// <summary>
        /// 0single_1group;燈控是否為群控/單獨(個別燈具)控制
        /// </summary>
        public Int16 forge_light_group { get; set; }
    }

    public class FloorList
    {
        public string full_name { get; set; }
        public string floor_tag { get; set; }
        public string floor_guid { get; set; }
        public string map_name { get; set; }
        public string floor_map_name { get; set; }
        public string urn_3D { get; set; }
        public List<DeviceLists> device_list {get; set;}
    }

    public class DeviceLists
    {
        public string device_guid { get; set; }
        public string device_number { get; set; }
        public string full_name { get; set; }
        public string device_coordinate { get; set; }
        public string device_coordinate_3d { get; set; }
        public string status { get; set; }
        public int priority { get; set; }
        public string device_status
        {
            get
            {
                Dictionary<string, string> name = new Dictionary<string, string>()
                {
                    { "0", "關閉"},
                    { "1", "正常"},
                    { "2", "異常"}
                };
                return name[status];
            }
        }
        public string device_image { get; set; }
        public string device_image_url { get; set; }
        public string device_normal_point_id { get; set; }
        public string device_normal_point_guid { get; set; }
        public string device_normal_point_col { get; set; }
        public string device_normal_point_name { get; set; }
        public string device_normal_point_value { get; set; }
        public string device_normal_flashing { get; set; }
        public string device_normal_color { get; set; }
        public string device_close_point_id { get; set; }
        public string device_close_point_guid { get; set; }
        public string device_close_point_col { get; set; }
        public string device_close_point_name { get; set; }
        public string device_close_point_value { get; set; }
        public string device_close_flashing { get; set; }
        public string device_close_color { get; set; }
        public string device_error_point_id { get; set; }
        public string device_error_point_guid { get; set; }
        public string device_error_point_col { get; set; }
        public string device_error_point_name { get; set; }
        public string device_error_point_value { get; set; }
        public string device_error_flashing { get; set; }
        public string device_error_color { get; set; }
        public string room_dbid { get; set; }
        public string forge_dbid { get; set; }
        public List<DeviceNode> Device_nodes { get; set; }
    }

    public class DeviceBaseList
    {
        public string device_guid { get; set; }
        public string device_number { get; set; }
        public string full_name { get; set; }
        public string device_coordinate { get; set; }
        public string device_coordinate_3d { get; set; }
        public int priority { get; set; }
        public string forge_dbid { get; set; }
    }

    public class DeviceBaseInfo
    { 
        public string device_number { get; set; }
        public string device_coordinate { get; set; }
        public string device_coordinate_3d { get; set; }
        public string full_name { get; set; }
        public string device_ip { get; set; }
    }

    public class DeviceOpeRecord
    {
        public string fix_do { get; set; }
        public byte work_type { get; set; }
        public string work_type_name
        {
            get
            {
                Dictionary<byte, string> name = new Dictionary<byte, string>()
                {
                    { 1 , "保養" },
                    { 2 , "維修" }
                };
                return name[work_type];
            }
        }
        public string work_person_name { get; set; }
        public DateTime finish_time { get; set; }
        public DateTime created_at { get; set; }
        public string createdAt
        { 
            get 
            { 
                return created_at.ToString("yyyy-MM-dd HH:mm:ss"); 
            }
        } //創建時間

        public string finishTime
        {
            get
            {
                return finish_time.ToString("yyyy-MM-dd HH:mm:ss");
            }
        } //結束時間
        public string device_node_guid { get; set; }
        public string device_node_name { get; set; }
    }

    public class DevForCor
    { 
        public string device_guid { get; set; }
        public string device_number { get; set; }
        public string device_floor_tag { get; set; }
        public string device_coordinate_3d { get; set; }
        public string full_name { get; set; }
        public int? forge_dbid { get; set; }
        public List<DeviceNode> Device_nodes { get; set; }
    }

    public class DevNodeForCor
    {
        public string device_guid { get; set; }
        public int priority { get; set; }
        public string device_node_coordinate_3d { get; set; }
        public int? forge_dbid { get; set; }
    }

    public class DeviceItemViewModel
    {
        public int id { get; set; }
        public short deleted { get; set; }
        public string full_name { get; set; }
        public string points { get; set; }
        public string unit { get; set; }
        public short is_show { get; set; }
        public short? is_show_riserDiagram { get; set; }
        public short is_controll { get; set; }
        public short is_bool { get; set; }
        public short is_link { get; set; }
        public short is_show_history { get; set; }
        public string device_system_tag { get; set; }
        public string device_name_tag { get; set; }
    }

    public class FindDeviceItem : FindDevice
    {
        public string points { get; set; }
        
    }

    public class ForgeInvisible
    {
        public string invisible_type { get; set; }
        public string invisible_value { get; set; }
        public string sub_system_tag { get; set; }

    }


}