//--------------------------------------------------------------------
//     此代码由liquid模板自动生成  byzhouhang 20240909
//	   生成时间 2025-03-27 06:13:37Z 
//     对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
//--------------------------------------------------------------------
using System;
using IRaCIS.Core.Domain.Share;
using System.Collections.Generic;
namespace IRaCIS.Core.Application.ViewModel;

public class DeleteAudit
{
    public Guid Id { get; set; }

    public AuditDocumentType AuditDocumentTypeEnum { get; set; }
    public Guid? ParentId { get; set; }

    public Guid? MainFileId { get; set; }
}

public class DeleteAuditDocumentInDto
{
    public List<Guid> Ids { get; set; }
}

public class GetAuditDocumentDataInDto:PageInput
{
    public  Guid? Id { get; set; }

    public Guid? SelfId { get; set; }


    public bool? IsAuthorization { get; set; }

    public string Name { get; set; } = string.Empty;
}

public class GetAuditDocumentDataOutDto
{
    public List<AuditDocumentData> Data { get; set; } = new List<AuditDocumentData> { };
}

public class AuditDocumentData : AuditDocumentUpdateDto
{
    public DateTime CreateTime { get; set; }

    public DateTime UpdateTime { get; set; }

    public Guid? MainFileId { get; set; }


    public int? Version { get; set; }

    public int HistoricalVersionsCount { get; set; }
    public  List<AuditDocumentData> Children { get; set; }=new List<AuditDocumentData> (){ };

}

public class AuditDocumentView : AuditDocumentAddOrEdit
{
    
    public DateTime CreateTime { get; set; }
    
    public DateTime UpdateTime { get; set; }
    
}

public class SetIsAuthorizationInDto
{
    public List<Guid> Ids { get; set; }

    public bool IsAuthorization { get; set; }
}

public class SetCurrentVersionInDto
{
    public Guid Id { get; set; }
}

public class GetHistoricalVersionInDto
{
    public Guid Id    { get; set; }
}

public class GetHistoricalVersionOutDto
{
    public AuditDocumentData CurrentData { get; set; }
    public List<AuditDocumentData> HistoricalVersionList { get; set; } = new List<AuditDocumentData> { };
}

public class MovieFileOrFolderInDto
{
    public List<Guid> Ids { get; set; }

    public Guid ParentId { get; set; }
}

public class HistoricalVersionDto: AuditDocumentUpdateDto
{
    public bool IsCurrentVersion { get; set; } = false;

    public int? Version { get; set; }

    public DateTime CreateTime { get; set; }

    public DateTime UpdateTime { get; set; }
}

public class AuditDocumentUpdateDto
{
    public Guid? Id { get; set; }

    public AuditDocumentType AuditDocumentTypeEnum { get; set; }

    public string? FileFormat { get; set; } 

    public string? FilePath { get; set; }

    public decimal? FileSize { get; set; }

    public bool IsAuthorization { get; set; }

    // public Guid? MainFileId { get; set; }

    public string Name { get; set; }

    public Guid? ParentId { get; set; }
}

public class GetBreadcrumbDataInDto
{
    public Guid Id { get; set; }
}

public class AuditDocumentAddOrEdit: AuditDocumentUpdateDto
{
  

    public List<AuditDocumentAddOrEdit> Children { get; set; }=new  List<AuditDocumentAddOrEdit>() { };

    public bool IsUpdate { get; set; } = true;
}

public class AuditDocumentQuery:PageInput
{
    public AuditDocumentType? AuditDocumentTypeEnum { get; set; }
    
    public string? FileFormat { get; set; }
    
    public string? FilePath { get; set; }
    
    public decimal?  FileSize { get; set; }
    
    public bool? IsAuthorization { get; set; }
    
    public Guid?  MainFileId { get; set; }
    
    public string? Name { get; set; }
    
    public Guid?  ParentId { get; set; }
    
    }