/// <summary>
        /// Obtiene una lista de todos los usuarios ordenados por un comparador
        /// </summary>
        /// <param name="pCadena">Nombre comparador</param>
        /// <returns>Lista de diccionario de usuarios con sus respectivos datos ordenados segun el comparador.</returns>
        public IList <Dictionary <string, string> > obtenerOrdenadosPor(string pComparador)
        {
            IList <Dictionary <string, string> > listaUsuarios = new List <Dictionary <string, string> > {
            };
            IComparer <Usuario> comparador;

            switch (pComparador)
            {
            case "NombreDescendente":
            {
                comparador = new OrdenarPorNombreDesc();
                break;
            }

            case "CorreoDescendente":
            {
                comparador = new OrdenarPorCorreoElectronicoDesc();
                break;
            }

            default:
            {
                comparador = new OrdenarPorNombreAsc();
                break;
            }
            }
            foreach (Usuario usua in repositorio.ObtenerOrdenadosPor(comparador))
            {
                Dictionary <string, string> usuarioDiccionario = new Dictionary <string, string> {
                };
                usuarioDiccionario.Add("Codigo", usua.Codigo);
                usuarioDiccionario.Add("NombreYApellido", usua.NombreCompleto);
                usuarioDiccionario.Add("CorreoElectronico", usua.CorreoElectronico);
                listaUsuarios.Add(usuarioDiccionario);
            }
            return(listaUsuarios);
        }