using System;
using Quadarax.Foundation.Core.Data.Interface.Entity;

namespace BO.AppServer.Metadata.Dto
{
    #region *** User - Create ***
    public class UserCDto : Dto, ICreateDto
    {
        public string Name { get; set; }
        public string Password { get; set; }
        public string Email { get; set; }

        public int LangLcid { get; set; }
        public string[] Roles { get; set; }
    }
    #endregion

    #region *** User - Update ***
    public class UserUDto : BoDto, IUpdateDto
    {
        public string Password { get; set; }
        public string Email { get; set; }
        public string[] Roles { get; set; }

        public int LangLcid { get; set; }
        public bool IsEnabled { get; set; }

    }
    #endregion

    #region *** User - Read ***
    public class UserRDto : BoDto, IReadDto
    {
        public string Name { get; set; }
        public DateTime? LastLogged { get; set; }
        public DateTime? LastDisabled { get; set; }
        public DateTime? LastEnabled { get; set; }
        public DateTime Created { get; set; }
        public DateTime? Modified { get; set; }

        public int LangLcid { get; set; }
        public bool IsSystem { get; set; }
        public bool IsEnabled { get; set; }
        
        public string[] Roles { get; set; }

    }
    #endregion

    #region *** User - Delete ***
    internal class UserDDto : BoDto, IDeleteDto
    {
    }
    #endregion

}
