using System;
using System.Collections.Generic;
using Dapper.Contrib.Extensions;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;

public class DbTableClass
{
    [Table("userDept")]
    public class userDept
    {
        [JsonIgnore]
        [Key]
        public int userDept_sn { get; set; }
        public string user_uid { get; set; } = "";
        public string dept_uid { get; set; } = "";
        public DateTime userDept_createdate { get; set; } = DateTime.Now;
    }

    [Table("depts")]
    public class depts
    {
        [JsonIgnore]
        [Key]
        public int dept_sn { get; set; }
        public string dept_name { get; set; } = "";
        public string dept_uid { get; set; } = "";
        public string dept_code { get; set; } = "";
        public int dept_order { get; set; } = 0;
        public DateTime dept_createdate { get; set; } = DateTime.Now;
    }

    [Table("groupUser")]
    public class groupUser
    {
        [JsonIgnore]
        [Key]
        public int groupUser_sn { get; set; }
        public string groupUser_uid { get; set; } = "";
        public string group_uid { get; set; } = "";
        public string user_uid { get; set; } = "";
        public string dept_uid { get; set; } = "";
        public DateTime groupUser_createdate { get; set; } = DateTime.Now;
    }

    [Table("[group]")]
    public class group
    {
        [JsonIgnore]
        [Key]
        public int group_sn { get; set; }

        public string dept_uid { get; set; } = "";
        public string group_uid { get; set; } = "";
        public string group_name { get; set; } = "";
   
        public DateTime group_createdate { get; set; } = DateTime.Now;
    }


[Table("token")]
    public class token
    {
        [JsonIgnore]
        [Key]
        public int token_sn { get; set; }

        public string token_key { get; set; } = "";

        public string user_uid { get; set; } = "";

        public string user_id { get; set; } = "";

        public string token_isremember { get; set; } = "N";

        public DateTime token_createdate { get; set; } = DateTime.Now;

        public DateTime token_expireddate { get; set; } = DateTime.Now.AddMinutes(20);

    }

    [Table("users")]
    public class user
    {
        [JsonIgnore]
        [Key]
        public int user_sn { get; set; }

        public string user_uid { get; set; } = "";

        public string user_id { get; set; } = "";

        public string user_name { get; set; } = "";

        public string user_email { get; set; } = "";

        public string user_onjob { get; set; } = "N";

        public string user_type { get; set; } = "N";

        public string user_pwd { get; set; } = "";

        public string user_perm { get; set; } = "user";

        public string user_pic { get; set; } = "";

        public string user_ishidden { get; set; } = "N";

        public DateTime user_createdate { get; set; } = DateTime.Now;

        public string user_lastlogintime { get; set; } = "";

    }

    [Table("new_userdata")]
    public class new_userdata
    {
        [JsonIgnore]
        [Key]
        public int usersn { get; set; }

        public string userid { get; set; } = "";

        public string userpw { get; set; } = "";

        public string username { get; set; } = "";

        public int maincategoryid { get; set; } = 1;

        public int subcategoryid { get; set; } = 1;

        public int grade { get; set; } = 0;

        public string mail { get; set; } = "";

        public string mailto { get; set; } = "";

        public int onjob { get; set; } = 0;

        public int permission { get; set; } = 0;

    }

}
