using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace FrontendWebApi.Models
{
    public class Weateher
    {
        public string WxText { get; set; }
        public string Wx { get; set; }
        public int Temp { get; set; }
        public int RH { get; set; }
    }

    public class DefaultBuilding
    {
        public string ip_address { get; set; }
        public string ip_port { get; set; }
    }

    public class Buildingsql
    {
        public string building_guid { get; set; }
        public string bfull_name { get; set; }
        public string ip_address { get; set; }
        public int bpriority { get; set; }
    }
    public class BuildMenuSql : Buildingsql
    {
        public string main_system_guid { get; set; }
        public string sub_system_guid { get; set; }
        public byte drawing { get; set; }
        public byte icon_click { get; set; }
        public string icon_click_url { get; set; }
        public string system_url { get; set; }
        public string mafull_name { get; set; }
        public int mapriority { get; set; }
        public string code { get; set; }
        public string subfull_name { get; set; }
        public int subpriority { get; set; }
        public byte planimetric_click { get; set; }
        public string planimetric_floor_guid { get; set; }
        public string riser_diagram_url { get; set; }
        public string device_building_tag { get; set; }
        public string device_system_tag { get; set; }
        public byte OpenTab { get; set; }
    }
    public class Floorsql : Floor
    {
        public string main_system_guid { get; set; }
        public string sub_system_guid { get; set; }
        public string building_guid { get; set; }
    }
    public class Devicesql : Device
    {
        public string main_system_guid { get; set; }
        public string sub_system_guid { get; set; }
        public string building_guid { get; set; }
        public string floor_guid { get; set; }
    }

    public class GetSubPost
    {
        public string main_system_tag { get; set; }
        public string sub_system_tag { get; set; }
        public string building_tag { get; set; }
        public string device_system_value { get; set; }
        public string device_system_category_layer3 { get; set; }
        public string show_cctv { get; set; }
    }

    public class Building
    {
        public string building_guid { get; set; }
        public string full_name { get; set; }
        public string ip_address { get; set; }
        public int priority { get; set; }
        public string device_building_tag { get; set; }
        public List<Main_system> main_system { get; set; }
        public List<string> common { get; set; }
    }
    public class Main_system
    {
        public string main_system_guid { get; set; }
        public string full_name { get; set; }
        public int priority { get; set; }
        public string code { get; set; }
        public List<Sub_systemGuid> Sub_system { get; set; }
    }
    public class Sub_systemGuid
    {
        public string sub_system_guid { get; set; }
        public string full_name { get; set; }
        public int priority { get; set; }
        public string device_system_tag { get; set; }
        public byte OpenTab { get; set; }
        public string system_url { get; set; }
    }
    public class Sub_system
    {
        public string sub_system_guid { get; set; }
        public string full_name { get; set; }
        public int priority { get; set; }
        public byte drawing { get; set; }
        public byte icon_click { get; set; }
        public string icon_click_url { get; set; }
        public string system_url { get; set; }
        public List<Floor> Floors { get; set; }
        public byte planimetric_click { get; set; }
        public string planimetric_floor_guid { get; set; }
        public string riser_diagram_url { get; set; }

    }
    public class Floor
    {
        public string floor_guid { get; set; }
        public string full_name { get; set; }
        public string InitMapName { get; set; }
        public string Floor_map_name { get; set; }
        public int priority { get; set; }
        public List<Device> devices { get; set; }
    }

    public class PostTagName
    {
        public string building_guid { get; set; }
        public string main_system_guid { get; set; }
        public string sub_system_guid { get; set; }
    }

    public class BuildingSystemTagName
    {
        public string device_building_tag { get; set; }
        public string device_system_tag { get; set; }
    }

    public class DeviceFloor : Device
    {
        public string floor_guid { get; set; }
    }


    public class Device
    {
        public byte status { get; set; }
        public string device_guid { get; set; }
        public string building_guid { get; set; }
        public string main_system_guid { get; set; }
        public string sub_system_guid { get; set; }
        public string floor_guid { get; set; }
        public string device_coordinate { get; set; }
        public string full_name { get; set; }
        public string device_number { get; set; }
        public string device_master_number { get; set; }
        public string device_master_full_name { get; set; }
        public string device_master_icon { get; set; }
        public string device_model { get; set; }
        public string device_building_tag { get; set; }
        public string device_system_tag { get; set; }
        public string device_floor_tag { get; set; }
        public string device_name_tag { get; set; }
        public string device_serial_tag { get; set; }
        public string device_last_name { get; set; }
        public string device_system_category_layer3 { get; set; }
        public string device_ip { get; set; }
        public string device_port { get; set; }
        public string device_image { get; set; }
        public string device_normal_text { get; set; }
        public string device_normal_point_name { get; set; }
        public string device_normal_point_col { get; set; }
        public string device_normal_point_value { get; set; }
        public string device_normal_color { get; set; }
        public byte device_normal_flashing { get; set; }
        public string device_close_text { get; set; }
        public string device_close_point_name { get; set; }
        public string device_close_point_col { get; set; }
        public string device_close_point_value { get; set; }
        public string device_close_color { get; set; }
        public byte device_close_flashing { get; set; }
        public string device_error_text { get; set; }
        public string device_error_point_name { get; set; }
        public string device_error_point_col { get; set; }
        public string device_error_point_value { get; set; }
        public string device_error_color { get; set; }
        public byte device_error_flashing { get; set; }
        public byte device_error_independent { get; set; }
        public int priority { get; set; }
        public byte icon_click { get; set; }
        public string icon_click_url { get; set; }
        public int icon_click_url_width { get; set; }
        public int icon_click_url_height { get; set; }
        public string DeviceURL { get; set; }
        public string point_name { get; set; }
        public string points { get; set; }
        public byte points_is_bool { get; set; }
        public List<DeviceNode> Device_nodes { get; set; }
        public List<DeviceItem> deviceItems { get; set; }
    }

    public class DeviceNode : Actor
    {
        public string Device_node_guid { get; set; }
        public string Device_guid { get; set; }
        public string Device_node_full_name { get; set; }
        public string Device_node_coordinate { get; set; }
        public int Priority { get; set; }
    }

    public class DeviceItem
    {
        public string full_name { get; set; }
        public string points { get; set; }
        public string unit { get; set; }
    }

    public class DeviceList
    {
        public string floor_guid { get; set; }
        public List<Device> device { get; set; }
    }

    public class BuildInfo : Actor
    {
        public string Building_tag { get; set; }  //區域GUID
        public string Full_name { get; set; } //區域名稱
        public string Ip_address { get; set; } //監控主機 IP
        public byte FloorNum { get; set; } //樓層數量
    }
}