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
}