using Hncore.Infrastructure.DDD;
using System;

namespace Hncore.Pass.BaseInfo.Models
{
    public partial class User : EntityWithTime<int>, ITenant
    {
        /// <summary>
        /// ID
        /// <summary>

        public string apikey { get; set; }
        public int TenantId { get; set; }
        public int agent_id { get; set; }

        /// <summary>
        /// 管理员登录名[16
        /// </summary>
        public string LoginCode { get; set; }

        /// <summary>
        /// 登录密码[20]
        /// </summary>
        public string Password { get; set; }

        /// <summary>
        /// 微信昵称
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// 微信头像
        /// </summary>
        public string Phone { get; set; }


        /// <summary>
        /// 注册来源
        /// </summary>
        public string Profile { get; set; }


        /// <summary>
        /// 状态
        /// </summary>
        public int Enabled { get; set; } = 1;

        /// <summary>
        /// 头像地址[30
        /// </summary>
        public string PhotoUrl { get; set; }

        /// <summary>
        /// 是否主管理员权限
        /// </summary>
        public DateTime? LastLoginDate { get; set; } = DateTime.Now;

        public int Sex { get; set; }

        //1:管理员添加 2：自己注册 3：来自淘宝
        public UserCreateType CreateType { get; set; }= UserCreateType.ManagerAdd;

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

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

        public decimal RestAmount { get; set; } = 0;

        public decimal ConsumeAmount { get; set; } = 0;

        public string Remark { get; set; }
        public string Wx { get; set; }
        public string QQ { get; set; }
        public string Email { get; set; }
        public string TaoBao { get; set; }
        public string WangWang { get; set; }

        public int? TestCountLimit { get; set; } = 0;
        public int? UseTestCount { get; set; } = 0;

        public int? ManagerId { get; set; } = 0;
        public string ManagerName { get; set; }
        public string id_code { get; set; }
        public int is_verify { get; set; }
        public int is_agent { get; set; }
        public int parent_id { get; set; }
    }
}