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
}