using System;
using System.Collections.Generic;

namespace EventsAppQuest.Domain.Models
{
    /// <summary>
    /// Comparação entre duas propostas em uma fase do evento (antes vs depois / base vs comparada).
    /// </summary>
    [Serializable]
    public class ProposalPhaseComparison
    {
        /// <summary>Id da fase do evento (EventMomentPhase).</summary>
        public string PhaseId { get; set; }

        /// <summary>Resumo do estado da cena da proposta base nesta fase.</summary>
        public string BaseSceneStateSummary { get; set; }

        /// <summary>Resumo do estado da cena da proposta comparada nesta fase.</summary>
        public string ComparedSceneStateSummary { get; set; }

        /// <summary>Principais diferenças entre as propostas nesta fase.</summary>
        public List<string> KeyDifferences { get; set; } = new List<string>();

        /// <summary>Qual proposta é melhor nesta fase: "Base", "Compared" ou null se empate/indefinido.</summary>
        public string BetterOption { get; set; }

        /// <summary>Observações sobre a comparação nesta fase.</summary>
        public string Notes { get; set; }
    }
}
