using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Threading.Tasks;

namespace Models
{
    /// <summary>
    /// 房型表
    /// </summary>
    [Table("TBL_ROOM_TYPE_LIST")]
    public class TBL_ROOM_TYPE_LIST
    {
        /// <summary>
        /// 房型ID
        /// </summary>
        [Key, Column(TypeName = "int"), Comment("房型id,自增长"), DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public int ROOM_TYPE_ID { get; set; }

        /// <summary>
        /// 酒店编号
        /// </summary>
        [Required, Column(TypeName = "int"), Comment("酒店编号")]
        public int HOTEL_ID { get; set; }

        /// <summary>
        /// 房型名称
        /// </summary>
        [Required, Column(TypeName = "nvarchar(50)"), Comment("房型名称")]
        public string ROOM_TYPE_NAME { get; set; }

        /// <summary>
        /// 描述
        /// </summary>
        [Column(TypeName = "nvarchar(520)"), Comment("描述")]
        public string DESCRIPTION { get; set; }

        /// <summary>
        /// 记录更新时间
        /// </summary>
        [Column(TypeName = "datetime"), Comment("记录更新时间")]
        public DateTime UPDATE_TIMEMARK { get; set; } = DateTime.Now;

        /// <summary>
        /// 备注
        /// </summary>
        [Column(TypeName = "nvarchar(520)"), Comment("备注")]
        public string REMARK { get; set; }//备注


        /// <summary>
        /// 配置文件名
        /// </summary>
        [Column(TypeName = "nvarchar(200)"), Comment("配置文件名")]
        public string CONFIG_XML { get; set; }//配置文件名

        /// <summary>
        ///  二进制配置数据  
        /// </summary>
        [Column(TypeName = "nvarchar(200)"), Comment("二进制配置数据  ")]
        public string CONFIG_BIN { get; set; }// 二进制配置数据  

        /// <summary>
        ///  二进制配置数据校验值  
        /// </summary>
        [Column(TypeName = "nvarchar(200)"), Comment(" 二进制配置数据校验值  ")]
        public string CONFIG_BIN_MD5 { get; set; }// 二进制配置数据校验值  

        /// <summary>
        ///  房型编号 巫工  
        /// </summary>
        [Column(TypeName = "int"), Comment(" 房型  编号 巫工 ")]
        public int ROOM_TYPE_OLD_ID { get; set; } // 房型编号
                                                  // 

        /// <summary>
        ///  房型密码
        /// </summary>
        [Column(TypeName = "nvarchar(50)"), Comment(" 房型密码 ")]
        public string PASSWORD { get; set; } = "123456";// 房型编号  


        /// <summary> 
        ///  数据 是否在 巫工   库删除 0  未  1 已经删除   2 在系统删除
        /// </summary>
        [Column(TypeName = "int"), Comment("数据 是否在 巫工   库删除 0  未  1 已经删除   2 在系统删除")]
        public int IsDel { get; set; }



        /// <summary>
        ///  房型所属酒店编号 巫工  
        /// </summary>
        [Column(TypeName = "int"), Comment(" 房型所属酒店编号 巫工")]
        public int HOTEL_OLD_ID { get; set; } // 房型编号



        /// <summary>
        ///  CFG咕咕叫版本
        /// </summary>
        [Column(TypeName = "int"), Comment(" CFG咕咕叫版本")]
        public int CFG_CURR_VER { get; set; } // CFG咕咕叫版本



        /// <summary>
        ///  固件文件名
        /// </summary>
        [Column(TypeName = "nvarchar(100)"), Comment(" 固件文件名")]
        public string Firmware_FileName { get; set; } // 固件文件名


        /// <summary>
        ///  固件版本
        /// </summary>
        [Column(TypeName = "nvarchar(100)"), Comment(" 固件版本")]
        public string Firmware_Version { get; set; }


        /// <summary>
        ///  固件MD5
        /// </summary>
        [Column(TypeName = "nvarchar(100)"), Comment(" 固件MD5")]
        public string Firmware_MD5 { get; set; }


        /// <summary>
        ///  固件批准人
        /// </summary>
        [Column(TypeName = "nvarchar(100)"), Comment(" 固件批准人")]
        public string Firmware_Approve { get; set; }


        /// <summary>
        ///  固件批准日期
        /// </summary>
        [Column(TypeName = "datetime"), Comment(" 固件批准日期")]
        public DateTime? Firmware_ApproveDate { get; set; }



        /// <summary>
        ///  配置批准人
        /// </summary>
        [Column(TypeName = "nvarchar(100)"), Comment(" 配置批准人")]
        public string ConfigData_Approve { get; set; }


        /// <summary>
        ///  配置批准日期
        /// </summary>
        [Column(TypeName = "datetime"), Comment(" 配置批准日期")]
        public DateTime? ConfigData_ApproveDate { get; set; }


        /// <summary>
        ///  数据创建时间
        /// </summary>
        [Column(TypeName = "datetime"), Comment(" 数据创建时间")]
        public DateTime Creation_Time { get; set; } = DateTime.Now;


        /// <summary>
        ///  配置文件更新日期
        /// </summary>
        [Column(TypeName = "datetime"), Comment(" 数据创建时间")]
        public DateTime? ConfigUploadDateTime { get; set; }


        /// <summary>
        ///  固件更新日期
        /// </summary>
        [Column(TypeName = "datetime"), Comment(" 固件更新日期")]
        public DateTime? FirmwareUploadDateTime { get; set; }

        /// <summary>
        ///  配置文件md5
        /// </summary>
        [Column(TypeName = "nvarchar(100)"), Comment(" 配置文件md5")]
        public string CONFIG_XML_MD5 { get; set; } = string.Empty;

        /// <summary>
        ///  LUNCHER_HEX
        /// </summary>
        [Column(TypeName = "nvarchar(100)"), Comment(" LUNCHER_HEX")]
        public string LUNCHER_HEX { get; set; } = string.Empty;

        /// <summary>
        ///  LUNCHER_MD5
        /// </summary>
        [Column(TypeName = "nvarchar(100)"), Comment(" LUNCHER_MD5 md5")]
        public string LUNCHER_MD5 { get; set; } = string.Empty;




        /// <summary>
        ///  Cfg_Type
        /// </summary>
        [Column(TypeName = "nvarchar(100)"), Comment("Cfg_Type")]
        public string Cfg_Type { get; set; } = string.Empty;


        /// <summary>
        ///  App_Cfg_For_L4
        /// </summary>
        [Column(TypeName = "nvarchar(100)"), Comment("App_Cfg_For_L4")]
        public string App_Cfg_For_L4 { get; set; } = string.Empty;

        /// <summary>
        ///  App_Cfg_For_L4_MD5
        /// </summary>
        [Column(TypeName = "nvarchar(35)"), Comment("App_Cfg_For_L4_MD5")]
        public string App_Cfg_For_L4_MD5 { get; set; } = string.Empty;




        /// <summary>
        ///  App_Cfg_For_L2
        /// </summary>
        [Column(TypeName = "nvarchar(100)"), Comment("App_Cfg_For_L2")]
        public string App_Cfg_For_L2 { get; set; } = string.Empty;


        /// <summary>
        ///  App_Cfg_For_L2_MD5
        /// </summary>
        [Column(TypeName = "nvarchar(35)"), Comment("App_Cfg_For_L2_MD5")]
        public string App_Cfg_For_L2_MD5 { get; set; } = string.Empty;


        /// <summary>
        ///  Hex_Code_For_L4
        /// </summary>
        [Column(TypeName = "nvarchar(100)"), Comment("Hex_Code_For_L4")]
        public string Hex_Code_For_L4 { get; set; } = string.Empty;



        /// <summary>
        ///  Hex_Code_For_L4_MD5
        /// </summary>
        [Column(TypeName = "nvarchar(35)"), Comment("Hex_Code_For_L4_MD5")]
        public string Hex_Code_For_L4_MD5 { get; set; } = string.Empty;


        /// <summary>
        ///  Hex_Code_For_L2
        /// </summary>
        [Column(TypeName = "nvarchar(100)"), Comment("Hex_Code_For_L2")]
        public string Hex_Code_For_L2 { get; set; } = string.Empty;



        /// <summary>
        ///  Hex_Code_For_L2_MD5
        /// </summary>
        [Column(TypeName = "nvarchar(35)"), Comment("Hex_Code_For_L2_MD5")]
        public string Hex_Code_For_L2_MD5 { get; set; } = string.Empty;

        /// <summary>
        ///  Hex_Code_For_Model
        /// </summary>
        [Column(TypeName = "nvarchar(100)"), Comment("Hex_Code_For_Model")]
        public string Hex_Code_For_Model { get; set; } = string.Empty;



        /// <summary>
        /// APP类型
        /// </summary>
        [Column(TypeName = "nvarchar(100)"), Comment("APP类型")]

        public string APPTYPE { get; set; }
    }
}
