using System; using System.Collections.Generic; namespace DMSDAL.DTO.BulkIngestion { public class BulkIngestionJobDTO { public int JobId { get; set; } public string SourceFolder { get; set; } = string.Empty; public string? ManifestFilePath { get; set; } public int DocumentSetDetailId { get; set; } = -1; public byte Mode { get; set; } // 0=Manifest 1=FolderConvention 2=Auto public byte Status { get; set; } // 0=Queued 1=Processing 2=Done 3=Failed public int TotalFiles { get; set; } public int ProcessedFiles { get; set; } public int FailedFiles { get; set; } public int ClientId { get; set; } public int CreatedByUserId { get; set; } public DateTime CreatedOn { get; set; } public DateTime? CompletedOn { get; set; } } /// One row from the CSV manifest or folder-convention scan. public class BulkIngestionManifestRow { public string FilePath { get; set; } = string.Empty; public int ObjectTypeId { get; set; } public int ObjectId { get; set; } public int DocumentSetDetailId { get; set; } = -1; public string? DisplayName { get; set; } public string? Tags { get; set; } public string? ContextJson { get; set; } } public class BulkIngestionStatusDTO { public int JobId { get; set; } public byte Status { get; set; } public int TotalFiles { get; set; } public int ProcessedFiles { get; set; } public int FailedFiles { get; set; } } }