using System;
using System.Collections.Generic;

namespace EventsAppQuest.Domain.Models
{
    /// <summary>
    /// Resultado da avaliação de cobertura operacional por fornecedores e lacunas de execução.
    /// </summary>
    [Serializable]
    public class SupplierCoverageEvaluationResult
    {
        /// <summary>Score de cobertura (0-100; maior = melhor).</summary>
        public int CoverageScore { get; set; }

        /// <summary>Capacidades de fornecedor ausentes ou insuficientes (ex.: item sem fornecedor adequado).</summary>
        public List<string> MissingSupplierCapabilities { get; set; } = new List<string>();

        /// <summary>Áreas ou tipos com cobertura fraca.</summary>
        public List<string> WeakCoverageAreas { get; set; } = new List<string>();

        /// <summary>Zonas ou tipos efetivamente cobertos pelos fornecedores da proposta.</summary>
        public List<string> CoveredZones { get; set; } = new List<string>();

        /// <summary>Avisos de cobertura (ex.: excesso de dependência em poucos fornecedores).</summary>
        public List<string> CoverageWarnings { get; set; } = new List<string>();

        /// <summary>Recomendações para melhorar a cobertura operacional.</summary>
        public List<string> Recommendations { get; set; } = new List<string>();
    }
}
