namespace CRMSalesDAL.DTO.LeadAllocation;
///
/// Result of LeadAllocationBLL.SuggestAllocationAsync — a SUGGESTION only, never an auto-assignment
/// ("AI assists, human decides", same principle already established for GEF this week). Confirming
/// the suggestion is a normal Deal save (setting DealDTO.RepId), not a separate "accept" endpoint.
///
public class LeadAllocationSuggestionDTO
{
public int LeadId { get; set; }
/// The single deterministic top suggestion — lowest OpenDealCount, ties broken by
/// lowest RepId.
public int SuggestedRepId { get; set; }
public string SuggestedRepCode { get; set; } = string.Empty;
public string SuggestedRepName { get; set; } = string.Empty;
public int SuggestedRepOpenDealCount { get; set; }
/// Every rep tied at the minimum OpenDealCount (SuggestedRepId is Candidates.Min(RepId)
/// among these) — shown for transparency so a human reviewer can see the full tie, not just
/// the deterministic winner.
public List Candidates { get; set; } = new();
public DateTime GeneratedOn { get; set; }
}