94 lines
1.9 KiB
C#
94 lines
1.9 KiB
C#
using OperationControl.Mapas.Models;
|
|
|
|
namespace OperationControl.Mapas.Editing
|
|
{
|
|
public sealed class MapaEstadoEdicao
|
|
{
|
|
private readonly HashSet<string>
|
|
_ruasSelecionadas =
|
|
new(
|
|
StringComparer.OrdinalIgnoreCase
|
|
);
|
|
|
|
|
|
public MapaDocumento?
|
|
DocumentoOriginal
|
|
{
|
|
get;
|
|
internal set;
|
|
}
|
|
|
|
|
|
public MapaDocumento?
|
|
DocumentoTrabalho
|
|
{
|
|
get;
|
|
internal set;
|
|
}
|
|
|
|
|
|
public IReadOnlyCollection<string>
|
|
RuasSelecionadas =>
|
|
_ruasSelecionadas;
|
|
|
|
|
|
public bool EmEdicao =>
|
|
DocumentoTrabalho != null;
|
|
|
|
|
|
public bool PossuiSelecao =>
|
|
_ruasSelecionadas.Count > 0;
|
|
|
|
|
|
public int QuantidadeSelecionadas =>
|
|
_ruasSelecionadas.Count;
|
|
|
|
|
|
public bool Modificado =>
|
|
DocumentoTrabalho?
|
|
.Modificado
|
|
?? false;
|
|
|
|
|
|
internal HashSet<string>
|
|
RuasSelecionadasMutaveis =>
|
|
_ruasSelecionadas;
|
|
|
|
|
|
private readonly List<MapaEdicaoHistoricoItem>
|
|
_historicoDesfazer =
|
|
new();
|
|
|
|
|
|
private readonly List<MapaEdicaoHistoricoItem>
|
|
_historicoRefazer =
|
|
new();
|
|
|
|
|
|
public bool PodeDesfazer =>
|
|
_historicoDesfazer.Count > 0;
|
|
|
|
|
|
public bool PodeRefazer =>
|
|
_historicoRefazer.Count > 0;
|
|
|
|
|
|
public int QuantidadeHistoricoDesfazer =>
|
|
_historicoDesfazer.Count;
|
|
|
|
|
|
public int QuantidadeHistoricoRefazer =>
|
|
_historicoRefazer.Count;
|
|
|
|
|
|
internal List<MapaEdicaoHistoricoItem>
|
|
HistoricoDesfazerMutavel =>
|
|
_historicoDesfazer;
|
|
|
|
|
|
internal List<MapaEdicaoHistoricoItem>
|
|
HistoricoRefazerMutavel =>
|
|
_historicoRefazer;
|
|
|
|
}
|
|
} |