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

namespace Backend.Models
{

    public class DeviceImport
    {
        private string created_at;
        public int Id { get; set; }
        public string Device_number { get; set; }
        public string Device_result { get; set; }
        public string Created_at { get { return Convert.ToDateTime(created_at).ToString("yyyy-MM-dd HH:mm:ss"); } set { created_at = value; } } //創建時間
    }

    public class DeviceCheckFilterRawData
    {
        public string Device_building_tag { get; set; }
        public string Device_system_tag { get; set; }
        public string Device_system_category_layer3 { get; set; }
    }

    public class Device_import_ckeck_temp_replace
    {
        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_number { get; set; }
        public string Device_system_category_layer3 { get; set; }
        public string Device_disaster { get; set; }
        public string Device_guid { get; set; }
    }

    public class Device_replace_dict
    {
        public Dictionary<string, object> Device_replace { get; set; }
        public List<Dictionary<string, object>> Device_disaster_dicts { get; set; }
    }

    public class DeviceCheckFilter
    {
        public string Building_tag { get; set; }
        public int Building_amount { get; set; }
        public List<DeviceCheckSystemTag> System_tags { get; set; }
    }

    public class DeviceCheckSystemTag
    {
        public string System_tag { get; set; }
        public List<string> System_categories { get; set; }
    }

    public class PostDeviceCheckFilter
    {
        public string Building_tag { get; set; }
        public string System_tag { get; set; }
        public string System_category { get; set; }
        public string Abnormal { get; set; }
    }

    public class DeviceCheck
    {
        public int DeviceCheckAmount { get; set; }
        public List<DeviceCheckTable> DeviceCheckTableList { get; set; }
    }


    public class DeviceCheckTable
    {
        public string Check_temp_device_number { get; set; } //check temp 資料表的 device_number
        public string Check_temp_device_system_category_layer3 { get; set; } //check temp 資料表的 system_category_layer3 value
        public string Check_temp_device_system_category_layer3_key { get; set; } //check temp 資料表的 system_category_layer3 key
        public string Check_temp_disaster_key { get; set; } //check temp 資料表的 disaster
        public string Device_number { get; set; } //device 資料表的 device_number
        public string Device_system_category_layer3 { get; set; } //device 資料表的 system_category_layer3 value
        public string Device_system_category_layer3_key { get; set; } //device 資料表的 system_category_layer3 key
        public string Device_disaster_type_text { get; set; } //device_disaster 資料表的 disaster
        public string Device_coordinate { get; set; } //device 資料表的 device_coordinate
        public byte Compare_device_number { get; set; } //比對2資料表的device_number
        public byte Compare_system_category_layer3 { get; set; } //比對2資料表的system_category_layer3
        public byte Compare_device_disaster { get; set; } //device 資料表的 device_disaster
    }
}