文件内容 UserInfoDto.cs 6 KB 6334 字符
using PasteApeart.Applciation.Contracts.EntityDto;
using PasteApeart.Application.Contracts;
using PasteApeart.Helper;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;

namespace ExampleApeart.usermodels
{

    ///<summary>
    ///用户信息
    ///</summary>
    [Description("用户信息")]
    public class UserInfoAddDto
    {
        ///<summary>
        ///邮箱
        ///</summary>
        [MaxLength(64)]
        [Required]
        [Description("邮箱")]
        public string Email { get; set; } = "";

        ///<summary>
        ///密码
        ///</summary>
        [MaxLength(64)]
        [PastePassword]
        [Required]
        [Description("密码")]
        public string PassWord { get; set; } = "";

        ///<summary>
        ///用户名
        ///</summary>
        [MaxLength(32)]
        [Required]
        [Description("用户名")]
        public string Name { get; set; } = "";

        ///<summary>
        ///描述
        ///</summary>
        [MaxLength(64)]
        [Description("描述")]
        public string Desc { get; set; } = "";

        ///<summary>
        ///头像
        ///</summary>
        [MaxLength(128)]
        [PasteImage(1, "head", "60*60")]
        [Description("头像")]
        public string Head { get; set; } = "";

        ///<summary>
        ///状态
        ///</summary>
        [Description("状态")]
        public bool IsEnable { get; set; } = true;

        /// <summary>
        /// 角色 包含的角色,这个暂未实现,应该会归纳到outers去
        /// </summary>
        [PasteOuters("gradeInfo", "", "id", "name")]
        [Description("角色 包含的角色,这个暂未实现,应该会归纳到outers去")]
        public int[] GradeIds { get; set; }

    }

    ///<summary>
    ///用户信息
    ///</summary>
    [Description("用户信息")]
    public class UserInfoUpdateDto : UserInfoAddDto
    {
        /// <summary>
        /// 标识
        /// </summary>
        public int Id { get; set; }

        ///<summary>
        ///密码
        ///</summary>
        [MaxLength(64)]
        [PasteSort(10)]
        [PastePassword()]
        [Description("密码 不修改密码保持留空")]
        public new string PassWord { get; set; } = "";

        #region 以下是扩展信息 扩展测试

        /// <summary>
        /// 角色 测试用的
        /// </summary>
        [PasteHidden]
        [PasteShort("GradeInfo", "ExtendGrade", "ToShortGrade()")]
        [Description("角色 测试用的")]
        public int GradeId { get; set; } = 1;

        /// <summary>
        /// 角色 测试用的
        /// </summary>
        [PasteHidden]
        [Description("角色 测试用的")]
        public GradeShort ExtendGrade { get; set; }

        #endregion


        ///// <summary>
        ///// 扩展 包含的角色列表
        ///// </summary>
        //[PasteHidden]
        //[Description("扩展 包含的角色列表")]
        //public List<GradeInfoListDto> Grades { get; set; }

    }

    ///<summary>
    ///用户信息
    ///</summary>
    [Description("用户信息")]
    public class UserInfoDto : UserInfoUpdateDto
    {
        ///<summary>
        ///创建日期
        ///</summary>
        [Description("创建日期")]
        public DateTime CreateDate { get; set; }

    }

    ///<summary>
    ///用户信息
    ///</summary>
    [Description("用户信息")]
    [PasteEnable(1, 1, 0, 1)]
    public class UserInfoListDto : EntityDto<int>
    {
        ///<summary>
        ///用户名
        ///</summary>
        [PasteSearch]
        [Description("用户名")]
        public string Name { get; set; }

        ///<summary>
        ///头像
        ///</summary>
        [PasteImage]
        [Description("头像")]
        public string Head { get; set; }

        ///<summary>
        ///创建日期
        ///</summary>
        [Description("创建日期")]
        public DateTime CreateDate { get; set; }

        ///<summary>
        ///描述
        ///</summary>
        [PasteSearch]
        [Description("描述")]
        public string Desc { get; set; }

        ///<summary>
        ///邮箱
        ///</summary>
        [PasteSearch]
        [Description("邮箱")]
        public string Email { get; set; }

        ///<summary>
        ///状态
        ///</summary>
        [PasteSwitch]
        [Description("状态")]
        public bool IsEnable { get; set; }

        /// <summary>
        /// 菜单
        /// </summary>
        [PasteMenu("授权角色", "open_window('授权角色','pasteform/index.html?path=gradeInfo&model=bind&user_id={{:=item.id}}','80%','80%')")]
        [Description("菜单")]
        public int Menu1 { get; } = 0;

    }

    ///<summary>
    ///用户信息
    ///</summary>
    [Description("用户信息")]
    public class UserShort
    {
        /// <summary>
        /// 标识
        /// </summary>
        public int Id { get; set; }

        ///<summary>
        ///用户名
        ///</summary>
        [Description("用户名")]
        public string Name { get; set; }

        ///<summary>
        ///头像
        ///</summary>
        [Description("头像")]
        public string Head { get; set; }

    }

    ///<summary>
    ///用户信息
    ///</summary>
    [Description("用户信息")]
    public class UserShortModel
    {
        /// <summary>
        /// 
        /// </summary>
        public int Id { get; set; }

        ///<summary>
        ///用户名
        ///</summary>
        [Description("用户名")]
        public string Name { get; set; }

        ///<summary>
        ///头像
        ///</summary>
        [Description("头像")]
        public string Head { get; set; }

    }

    ///<summary>
    /// 查询
    ///</summary>
    [Description("查询")]
    public class InputQueryUserInfo : InputSearchBase
    {

        /// <summary>
        /// 
        /// </summary>
        public InputQueryUserInfo()
        {
            sdate = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01"));
            edate = sdate.Value.AddMonths(1);
        }

        /// <summary>
        /// 注册区间
        /// </summary>
        [PasteField("CreateDate")]
        [PasteDaterange("sdate", "edate")]
        [Description("注册区间")]
        public DateTime? sdate { get; set; }

        /// <summary>
        /// 日期区间
        /// </summary>
        [Description("日期区间")]
        public DateTime? edate { get; set; }

        /// <summary>
        /// 邮箱
        /// </summary>
        [PasteField("Email")]
        [Description("邮箱")]
        public string email { get; set; }

        /// <summary>
        /// 描述
        /// </summary>
        [PasteField("Desc")]
        [Description("描述")]
        public string Desc { get; set; }


    }





}
​ ​