/// <summary>
        /// Procesa todas las correcciones a PDIs.
        /// </summary>
        /// <returns>El número de PDIs modificados.</returns>
        public int ProcesarTodo()
        {
            // Hacer todos las operaciones en orden.
            int númeroDeProblemasEnPdis = 0;

            númeroDeProblemasEnPdis += ArregladorDeIndicesDeCiudad.Procesa();
            númeroDeProblemasEnPdis += ArregladorGeneral.Procesa();
            númeroDeProblemasEnPdis += BuscadorDeDuplicados.Procesa();
            númeroDeProblemasEnPdis += BuscadorDeAlertas.Procesa();
            númeroDeProblemasEnPdis += BuscadorDeErrores.Procesa();

            // Reporta estatus.
            EscuchadorDeEstatus.Estatus = "Se detectaron " + númeroDeProblemasEnPdis + " problemas en PDIs.";

            return(númeroDeProblemasEnPdis);
        }
        /// <summary>
        /// Constructor.
        /// </summary>
        /// <param name="elManejadorDeMapa">El Manejador de Mapa.</param>
        /// <param name="losPuntosDeInteres">Los PDIs.</param>
        /// <param name="elEscuchadorDeEstatus">El escuchador de estatus.</param>
        public ManejadorDePdis(
            ManejadorDeMapa elManejadorDeMapa,
            IList <Pdi> losPuntosDeInteres,
            IEscuchadorDeEstatus elEscuchadorDeEstatus)
            : base(elManejadorDeMapa, losPuntosDeInteres, elEscuchadorDeEstatus)
        {
            // Crea los procesadores.
            ArregladorDeIndicesDeCiudad = new ArregladorDeIndicesDeCiudad(this, elEscuchadorDeEstatus);
            ArregladorGeneral           = new ArregladorGeneral(this, elEscuchadorDeEstatus);
            BuscadorDeDuplicados        = new BuscadorDeDuplicados(this, elEscuchadorDeEstatus);
            BuscadorDeAlertas           = new BuscadorDeAlertas(this, elEscuchadorDeEstatus);
            BuscadorDeErrores           = new BuscadorDeErrores(this, elEscuchadorDeEstatus);

            // Escucha eventos.
            elManejadorDeMapa.PdisModificados += EnElementosModificados;
        }