using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
#if NETFRAMEWORK
using System;
#endif

namespace DigitalData.UserManager.Domain.Entities
{
    [Table("TBDD_CLIENT_USER", Schema = "dbo")]
    public class ClientUser
    {
        [Column("GUID")]
        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public int Id { get; set; }

        [Required]
        [Column("USER_ID")]
        public int UserId { get; set; }

        [Required]
        [Column("CLIENT_ID")]
        public int ClientId { get; set; }

        [Column("COMMENT")]
        public string
#if NET7_0_OR_GREATER
            ?
#endif
            Comment
        { get; set; }

        [StringLength(50)]
        [Column("ADDED_WHO")]
        public string
#if NET7_0_OR_GREATER
            ?
#endif
            AddedWho
        { get; set; }

        [Column("ADDED_WHEN", TypeName = "datetime")]
        [DefaultValue("GETDATE()")]
        public DateTime AddedWhen { get; set; } = DateTime.Now;
    }
}