using System; using System.Text.Json.Serialization; namespace GB5Shared.DTO.ECM { public class AttachmentListDTO { public string? Id { get; set; } public string? FileName { get; set; } public string? FileType { get; set; } // derived in BLL from extension public byte[]? FileContent { get; set; } // null in list public string? RelativePath { get; set; } // null in list public string? DownLoadUrl { get; set; } // null in list public string? ViewUrl { get; set; } // null in list public int Type { get; set; } public int AttachmentId { get; set; } public string? CreatedOn { get; set; } // formatted "yyyy/MM/dd HH:mm" by SQL public int CreatedById { get; set; } public string? CreatedBy { get; set; } public int ObjectTypeId { get; set; } public int ObjectId { get; set; } public string? ClientId { get; set; } // null in list public string? ActualFileName { get; set; } public DateTime ValidFrom { get; set; } // serialised as /Date(xxx)/ by MicrosoftDateConverter public DateTime ValidTo { get; set; } // serialised as /Date(xxx)/ by MicrosoftDateConverter public int Status { get; set; } public int DocumentTypeId { get; set; } public string? DocumentTypeName { get; set; } public int IsValidity { get; set; } public int DocumentSetDetailId { get; set; } public int ClassificationMarkId { get; set; } public string? ClassificationMarkName { get; set; } public string OwnSave { get; set; } = "0"; public string OwnEdit { get; set; } = "0"; public string OwnDelete { get; set; } = "0"; public string OwnRead { get; set; } = "0"; public string OthSave { get; set; } = "0"; public string OthEdit { get; set; } = "0"; public string OthDelete { get; set; } = "0"; public string OthRead { get; set; } = "0"; public int AttachmentOption { get; set; } public string? Guid { get; set; } // TATTACHMENT.TAGS public string? MimeType { get; set; } // stored on upload public long FileSizeBytes { get; set; } // stored on upload public string? PhysicalPath { get; set; } // derived in BLL from config + FolderName // Used by BLL to build PhysicalPath — not exposed to the client [JsonIgnore] public string? FolderName { get; set; } } }