using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WorkFlowCheck.Common.Enums;
using WorkFlowCheck.DL.Interfaces;

namespace WorkFlowCheck.DL.Entities
{
    public class CheckListHeader : IAuditableEntity, ISoftDeletableEntity
    {
        public int Id { get; set; }
        public int CheckListTemplateHeaderId { get; set; }
        public virtual CheckListTemplateHeader CheckListTemplateHeader { get; set; }
        public CheckStatus CheckStatus { get; set; }    
        public DateTime DateExecution { get; set; }
        public int UserId { get; set; } 
        public virtual User User { get; set; }
        public string ShortName { get; set; } = null!;
        public string Description { get; set; } = null!;
        public string DocumentNumber { get; set; } = null!;
        public Guid GuidNumber { get; set; }
        public bool IsStorno { get; set; }
        public bool IsEditable { get; set; }    
        public DateTime LastModAt { get; set; }
        public string LastModBy { get; set; } = null!;
        public DateTime CreatedAt { get; set; }
        public string CreatedBy { get; set; } = null!;
        public bool IsDeleted { get; set; }

        public virtual ICollection<CheckListRow> CheckListRows { get; set; }
    }
}
