/// <summary>
        /// Metodo que devuelve todas las dificultades cargadas en base de datos de un determinado conjunto
        /// </summary>
        /// <returns></returns>
        public static IEnumerable <DificultadDTO> GetDificultades(String pNombreConjunto)
        {
            List <DificultadDTO> dificultadesDTO = new List <DificultadDTO>();

            try
            {
                using (var db = new TrabajoDbContext())
                {
                    using (var UoW = new UnitOfWork(db))
                    {
                        ICollection <Dificultad> dificultades = UoW.RepositorioConjuntoPregunta.DificultadesDeUnConjunto(pNombreConjunto);
                        foreach (Dificultad dificultad in dificultades)
                        {
                            dificultadesDTO.Add(new DificultadDTO(dificultad));
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                var bitacora = new Bitacora.Bitacora();
                bitacora.GuardarLog("ControladorPreguntas.GetDificultades" + ex.ToString());
            }
            return(dificultadesDTO);
        }
        /// <summary>
        /// Devuelve todas las categorias que tengan mas (o igual) de N preguntas
        /// </summary>
        /// <returns>Lista de categorias</returns>
        public static ICollection <CategoriaPreguntaDTO> GetCategoriasConMasDeNPreguntas(String pNombreConjunto, int n)
        {
            List <CategoriaPreguntaDTO> categoriasDTO = new List <CategoriaPreguntaDTO>();

            try
            {
                using (var db = new TrabajoDbContext())
                {
                    using (var UoW = new UnitOfWork(db))
                    {
                        var categorias = UoW.RepositorioPreguntas.CategoriasConMasDeNPreguntas(pNombreConjunto, n);
                        foreach (CategoriaPregunta categoria in categorias)
                        {
                            categoriasDTO.Add(new CategoriaPreguntaDTO(categoria));
                        }
                        return(categoriasDTO);
                    }
                }
            }
            catch (Exception ex)
            {
                var bitacora = new Bitacora.Bitacora();
                bitacora.GuardarLog("ControladorPreguntas.GetCategoriasConMasDeNPreguntas" + ex.ToString());
                return(null);
            }
        }
 /// <summary>
 /// Devuelve la cantidad de preguntas que tiene una categoria
 /// </summary>
 /// <param name="pIdCateoria">El id de la categoria</param>
 /// <returns></returns>
 public static int CantidadDePreguntasParaCategoria(String pIdCategoria)
 {
     try
     {
         using (var db = new TrabajoDbContext())
         {
             using (var UoW = new UnitOfWork(db))
             {
                 return(UoW.RepositorioPreguntas.CantidadDePreguntasParaCategoria(pIdCategoria));
             }
         }
     }
     catch (Exception ex)
     {
         var bitacora = new Bitacora.Bitacora();
         bitacora.GuardarLog("ControladorPreguntas.CantidadDePreguntasParaCategoria" + ex.ToString());
         return(0);
     }
 }
        /// <summary>
        /// Metodo que devuelve todas las categorias cargadas en base de datos
        /// </summary>
        /// <returns></returns>
        public static ICollection <CategoriaPregunta> GetCategorias(String pNombreConjunto)
        {
            ICollection <CategoriaPregunta> categorias = null;

            try
            {
                using (var db = new TrabajoDbContext())
                {
                    using (var UoW = new UnitOfWork(db))
                    {
                        categorias = UoW.RepositorioConjuntoPregunta.CategoriasDeUnConjunto(pNombreConjunto);
                    }
                }
            }
            catch (Exception ex)
            {
                var bitacora = new Bitacora.Bitacora();
                bitacora.GuardarLog("ControladorPreguntas.GetCategorias" + ex.ToString());
            }
            return(categorias);
        }