using System;
namespace EAIAdminDAL.DTO
{
///
/// Admin CRUD DTO for MEAIINITIATIVE — GB5's system-of-record mirror of gbEAI's
/// (AI-Enterprise-v1.0) maiinitiative table. Saves here push to gbEAI over REST via
/// IEAISyncClient after the local commit; see EAIInitiativeAdminBLL.SaveInitiativeAsync.
///
public class EAIInitiativeAdminDTO
{
public int InitiativeId { get; set; }
public int TenantId { get; set; }
/// Globally unique across all tenants — matches gbEAI's unique=True on
/// aiinitiativecode.
public string InitiativeCode { get; set; } = string.Empty;
public string InitiativeName { get; set; } = string.Empty;
public short MaturityLevel { get; set; }
/// gbEAI's own aiinitiativeid, captured from the push response. A cheap
/// correlation accelerator only — the primary key of truth is InitiativeCode.
public long? EAIRemoteId { get; set; }
public short Version { get; set; }
/// 1 = active row, 0 = soft-deleted.
public byte Status { get; set; } = 1;
public int? CreatedById { get; set; }
public string? CreatedByName { get; set; }
public DateTime CreatedOn { get; set; }
public int? ModifiedById { get; set; }
public string? ModifiedByName { get; set; }
public DateTime? ModifiedOn { get; set; }
}
}