Example #1
0
        /// <summary>
        /// Obtém questionários pelo tipo, UF do gestor e categoria.
        /// </summary>
        /// <param name="tipoQuestionario"></param>
        /// <param name="uf">UF do gestor logado. Caso nula, não interfere na consulta</param>
        /// <param name="idCategoria"></param>
        /// <returns></returns>
        public IList <Questionario> ObterQuestionariosPorCategoria(enumTipoQuestionario tipoQuestionario, int idCategoria = 0)
        {
            var query = repositorio.session.Query <Questionario>().Where(x => x.TipoQuestionario != null && x.TipoQuestionario.ID == (int)tipoQuestionario);

            if (idCategoria != 0)
            {
                query = query.Where(x => x.ListaCategoriaConteudo.Any(p => p.ID == idCategoria) || !x.ListaCategoriaConteudo.Any());
            }

            return(query.ToList());
        }
Example #2
0
        /// <summary>
        /// Obtém questionários pelo tipo informado.
        /// </summary>
        /// <param name="tipoQuestionario"></param>
        /// <param name="idCategoria"></param>
        /// <returns></returns>
        public IList <Questionario> ObterQuestionariosPorFiltro(enumTipoQuestionario tipoQuestionario, int?idCategoria = null)
        {
            var query = repositorio.session.Query <Questionario>();

            //Join com Tipo Questionário
            query = query.Fetch(x => x.TipoQuestionario);

            query = query.Where(x => x.TipoQuestionario.ID != (int)enumTipoQuestionario.Dinamico);

            //Esta comparação só é possível com o uso de implicit operator, na classe de domínio TipoQuestionario.
            query = query.Where(x => x.TipoQuestionario.ID == (int)tipoQuestionario);

            if (idCategoria != null)
            {
                query = query.Where(x => x.ListaCategoriaConteudo.Any(p => p.ID == idCategoria.Value) || !x.ListaCategoriaConteudo.Any());
            }

            return(query.ToList());
        }
Example #3
0
 private IList <Questionario> ObterQuestionariosPorFiltro(enumTipoQuestionario tipoQuestionario,
                                                          int?idCategoria = null)
 {
     return(bmQuestionario.ObterQuestionariosPorFiltro(tipoQuestionario, idCategoria));
 }