namespace IDMSDAL.DTOs; // ── client_contact ──────────────────────────────────────────────────────────── // M table — INT AutoNumber PK. public class ClientContactDTO { public int ContactId { get; set; } public int EngagementId { get; set; } public int TenantId { get; set; } public string FullName { get; set; } = string.Empty; public string Email { get; set; } = string.Empty; public string? Phone { get; set; } public string RoleInProject { get; set; } = string.Empty; // ProjectSponsor|ProjectLead|KeyUser|IT_Contact|FinanceApprover|Signatory public bool IsPrimary { get; set; } public bool IsSignatory { get; set; } public int PortalUserId { get; set; } // -1 if not yet provisioned public DateTime? PortalInvitedOn { get; set; } public DateTime? PortalActivatedOn { get; set; } public string? NotificationPrefs { get; set; } // JSON: {"email":true,"sms":false,"whatsapp":true} // Standard M audit fields public short Version { get; set; } public byte Status { get; set; } = 1; public short SortOrder { get; set; } public byte SourceType { get; set; } = 5; public int ClientContactCreatedById { get; set; } public DateTime ClientContactCreatedOn { get; set; } public int ClientContactModifiedById { get; set; } public DateTime ClientContactModifiedOn { get; set; } }