namespace MarketingDAL.DTO.ICP; /// /// MarketMind AI master data — Ideal Customer Profile (MICP), specializing a Segment. /// is derived deterministically in ICPBLL from /// // /// — see ICPBLL.ComputeABCDCategory for the exact threshold rule — and stored so reads never /// recompute it. /// public class ICPDTO { #region ICP public int ICPId { get; set; } public string ICPCode { get; set; } = string.Empty; public string ICPName { get; set; } = string.Empty; public int SegmentId { get; set; } public string? SegmentCode { get; set; } public string? SegmentName { get; set; } /// 1=B2B, 2=B2C, 3=B2Ch — may specialize or default to the parent Segment's type. public byte BusinessType { get; set; } /// 1-10 — see CK_MICP_LEADGENEFFORTSCORE. public byte LeadGenEffortScore { get; set; } /// 1-10 — see CK_MICP_SALESCONVERSIONEFFORTSCORE. public byte SalesConversionEffortScore { get; set; } /// 1-10 — see CK_MICP_RETURNSCORE. public byte ReturnScore { get; set; } /// /// Derived, not user-editable: "Amazing" | "Breadwinning" | "Convenience" | "Dangerous". /// Computed by ICPBLL.ComputeABCDCategory on every save. /// public string ABCDCategory { get; set; } = string.Empty; 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 }