namespace MarketingDAL.DTO.LeadMagnet;
///
/// MarketMind AI execution layer — a LeadMagnet (MLEADMAGNET): a gated-content offer that feeds
/// the AutomationHub lead-sourcing pipeline (see the plan,
/// ~/.claude/plans/in-entitlement-also-we-async-charm.md, Phase 0 — MarketMind AI).
///
public class LeadMagnetDTO
{
#region LeadMagnet
public int LeadMagnetId { get; set; }
public string LeadMagnetCode { get; set; } = string.Empty;
public string LeadMagnetName { get; set; } = string.Empty;
/// Free text — e.g. "eBook"/"Webinar"/"Checklist" — too varied across tenants to enumerate.
public string OfferType { get; set; } = string.Empty;
/// Optional FK to MMKTCAMPAIGN — -1 sentinel = not applicable.
public int CampaignId { get; set; } = -1;
public string? CampaignCode { get; set; }
public string? CampaignName { get; set; }
/// Free-form JSON describing which fields a gate form captures.
public string? GatingFieldsJson { get; set; }
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
}