using IRaCIS.Core.Domain.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace IRaCIS.Core.Domain.Models
{
    [Comment("稽查文档管理")]
    [Table("AuditDocument")]
    public class AuditDocument : BaseFullAuditEntity
    {
        
        /// <summary>
        /// 文件夹名或者文件名
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// 文档类型
        /// </summary>
        public AuditDocumentType AuditDocumentTypeEnum { get; set; }

        /// <summary>
        /// 父文件夹Id
        /// </summary>
        public Guid? ParentId { get; set; }

        /// <summary>
        /// 文件路径
        /// </summary>
        [StringLength(1000)]
        public string FilePath { get; set; } = string.Empty;

        /// <summary>
        /// 文件大小
        /// </summary>
        public decimal? FileSize { get; set; }

        /// <summary>
        /// 文件类型
        /// </summary>
        public string FileFormat { get; set; } = string.Empty;

        /// <summary>
        /// 版本
        /// </summary>
        public int? Version { get; set; }

        /// <summary>
        /// 主文件Id
        /// </summary>
        public Guid? MainFileId { get; set; }

        /// <summary>
        /// 是否授权
        /// </summary>
        public bool IsAuthorization { get; set; } = false;
    }

    /// <summary>
    /// 稽查文档类型
    /// </summary>
    public enum AuditDocumentType
    {
        /// <summary>
        /// 文件夹
        /// </summary>
        Folder = 0,

        /// <summary>
        /// 文件
        /// </summary>
        File = 1,

        /// <summary>
        /// 历史版本
        /// </summary>
        HistoricalVersion = 2,

    }
}