namespace MarketingDAL.DTO.Collateral; /// /// MarketMind AI execution layer — a Collateral (MCOLLATERAL): a thin marketing-semantic overlay /// over a sales/marketing asset that may live in DMS's document store. Owns marketing-specific /// tagging only (Format, linked Product/Persona) — it deliberately does NOT own the file/binary /// itself. is a SOFT reference (int, -1 = none) to DMS's document /// entity when the asset has actually been uploaded there; it is NOT FK-constrained for the same /// cross-module reason as ContentRefDTO.SourceContentId (see that class's doc) — DMS and Marketing /// are different modules, and a marketing user may be tracking a URL/external asset informally /// without it ever living in DMS. /// public class CollateralDTO { #region Collateral public int CollateralId { get; set; } public string CollateralCode { get; set; } = string.Empty; public string CollateralTitle { get; set; } = string.Empty; /// Free text — e.g. "PDF"/"Video"/"Deck" — too varied to enumerate. public string? Format { get; set; } /// Optional FK to MMKTPRODUCT — -1 sentinel = not applicable. public int LinkedProductId { get; set; } = -1; public string? LinkedProductCode { get; set; } public string? LinkedProductName { get; set; } /// Optional FK to MPERSONA — -1 sentinel = not applicable. public int LinkedPersonaId { get; set; } = -1; public string? LinkedPersonaCode { get; set; } public string? LinkedPersonaName { get; set; } /// Soft, non-FK-constrained reference to DMS's document entity. -1 = none (see class doc). public int SourceDocumentId { get; set; } = -1; public string? Remarks { get; set; } #endregion #region Base public int CreatedById { get; set; } public DateTime CreatedOn { get; set; } public string? CreatedByName { get; set; } public int ModifiedById { get; set; } public DateTime ModifiedOn { get; set; } public string? ModifiedByName { get; set; } #endregion #region Standard public short SortOrder { get; set; } public byte Status { get; set; } public short Version { get; set; } public int TenantId { get; set; } #endregion }