using Marco.Pms.Model.Utilities;
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
using System.ComponentModel.DataAnnotations.Schema;

namespace Marco.Pms.Model.DocumentManager
{
    public class DocumentTypeMaster : TenantRelation
    {
        public Guid Id { get; set; }
        public string Name { get; set; } = string.Empty;
        public string? RegexExpression { get; set; }
        public string AllowedContentType { get; set; } = string.Empty;
        public double MaxSizeAllowedInMB { get; set; } = 2;
        public bool IsValidationRequired { get; set; } = true;
        public bool IsMandatory { get; set; } = true;
        public bool IsSystem { get; set; } = false;
        public bool IsActive { get; set; } = true;
        public Guid DocumentCategoryId { get; set; }

        [ValidateNever]
        [ForeignKey("DocumentCategoryId")]
        public DocumentCategoryMaster? DocumentCategory { get; set; }

        public DateTime CreatedAt { get; set; }
    }
}
