using System;
using System.Collections.Generic;

namespace LHDN.CRM.Models.Models
{
    using System.ComponentModel.DataAnnotations;
    using System.ComponentModel.DataAnnotations.Schema;

    [Table("AuditMaster")]
    public partial class AuditMaster
    {
        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public long AuditID { get; set; }
        
        [StringLength(50)]
        public string AuditModule { get; set; }
        [Required]
        public int AuditEventID { get; set; }
        [Required]
        [StringLength(100)]
        public string AuditEventName { get; set; }
        [Required]
        [StringLength(1)]
        [Column(TypeName ="char")]
        public string ResultType { get; set; }
        [Required]
        [StringLength(20)]
        public string ActionType { get; set; }
        [StringLength(50)]
        public string RefTableName { get; set; }
        public long? RefTableID { get; set; }
        [Required]
        [StringLength(2000)]
        public string AdditionalInfo { get; set; }
        [Required]
        [StringLength(255)]
        public string UserID { get; set; }
        [Required]
        [StringLength(200)]
        public string CreatedBy { get; set; }
        [Required]
        [Column(TypeName = "datetime2")]
        public DateTime CreatedDateTime { get; set; }

        public virtual ICollection<AuditDetail> AuditDetails { get; set; }
    }
}
