using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace DigitalData.UserManager.Domain.Entities
{
    [Table("TBDD_USER", Schema = "dbo")]
    public class User : BaseEntity
    {
        [Column("PRENAME")]
        [StringLength(50)]
        public string? Prename { get; set; }

        [Column("NAME")]
        [StringLength(50)]
        public string? Name { get; set; }

        [Required]
        [Column("USERNAME")]
        [StringLength(50)]
        public string Username { get; set; }

        [Column("SHORTNAME")]
        [StringLength(30)]
        public string? Shortname { get; set; }

        [Column("EMAIL")]
        [StringLength(100)]
        public string? Email { get; set; }

        [Required]
        [Column("LANGUAGE")]
        [StringLength(5)]
        [DefaultValue("de-DE")]
        public string Language { get; set; }

        [Column("COMMENT")]
        [StringLength(500)]
        public string? Comment { get; set; }

        [Column("DELETED")]
        public bool Deleted { get; set; }

        [Required]
        [Column("DATE_FORMAT")]
        [StringLength(10)]
        [DefaultValue("dd.MM.yyyy")]
        public string DateFormat { get; set; }

        [Required]
        [Column("ACTIVE")]
        public bool Active { get; set; }

        #region IGNORED COLUMNS
        //[Required]
        //[Column("GENERAL_VIEWER")]
        //[StringLength(30)]
        //[DefaultValue("NONE")]
        //public string GeneralViewer { get; set; }

        //[Required]
        //[Column("WAN_ENVIRONMENT")]
        //public bool WanEnvironment { get; set; }

        //[Required]
        //[Column("USERID_FK_INT_ECM")]
        //public int UseridFkIntEcm { get; set; }

        //[Column("DELETED_WHEN")]
        //public DateTime? DeletedWhen { get; set; }

        //[Column("DELETED_WHO")]
        //[StringLength(50)]
        //public string? DeletedWho { get; set; }
        #endregion
    }
}