namespace MarketingDAL.DTO.GrowthPlay; /// /// MarketMind AI execution layer — a GrowthPlay (MGROWTHPLAY): a hypothesis-tracked growth /// initiative. is genuinely nullable (not the -1 FK-sentinel convention) — /// it's the learning-loop outcome, filled in only after execution. /// public class GrowthPlayDTO { #region GrowthPlay public int GrowthPlayId { get; set; } public string GrowthPlayCode { get; set; } = string.Empty; public string GrowthPlayName { get; set; } = string.Empty; public string HypothesisText { get; set; } = string.Empty; /// Optional FK to MSEGMENT — -1 sentinel = not applicable. public int SegmentId { get; set; } = -1; public string? SegmentCode { get; set; } public string? SegmentName { get; set; } /// 1=Planned, 2=Active, 3=Completed, 4=Abandoned — see CK_MGROWTHPLAY_GROWTHPLAYSTATUS. public byte GrowthPlayStatus { get; set; } = 1; public DateTime StartDate { get; set; } public DateTime EndDate { get; set; } /// Genuinely nullable — the learning-loop outcome, filled in after execution. public string? ResultText { 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 }