agrobot_base/AgroBase/OperationControl/Mapas/Models/MapaSelecaoOperacao.cs

35 lines
984 B
C#

namespace OperationControl.Mapas.Models
{
/// <summary>
/// Representa a seleção de ruas de uma operação.
///
/// Não pertence ao mapa físico.
/// O mesmo MapaDocumento pode ser utilizado por várias
/// operações com seleções e ordens diferentes.
/// </summary>
public class MapaSelecaoOperacao
{
private readonly List<string> _ruasOrdenadas = new();
/// <summary>
/// IDs das ruas na ordem em que foram selecionadas
/// e deverão ser percorridas.
/// </summary>
public IReadOnlyList<string> RuasOrdenadas =>
_ruasOrdenadas;
public int Quantidade =>
_ruasOrdenadas.Count;
public bool PossuiSelecao =>
_ruasOrdenadas.Count > 0;
/*
* O serviço de seleção é o único responsável por
* modificar esta lista.
*/
internal List<string> RuasMutaveis =>
_ruasOrdenadas;
}
}