public Resultado <int> GetCantidad(_Model.Consultas.Consulta_Pregunta consulta) { var resultado = new Resultado <int>(); try { var query = GetQuery(consulta); resultado.Return = query.RowCount(); } catch (Exception e) { resultado.SetError(e); } return(resultado); }
public Resultado <List <Pregunta> > Get(_Model.Consultas.Consulta_Pregunta consulta) { var resultado = new Resultado <List <Pregunta> >(); try { var query = GetQuery(consulta); resultado.Return = query.List().ToList(); } catch (Exception e) { resultado.SetError(e); } return(resultado); }
public IQueryOver <Pregunta, Pregunta> GetQuery(_Model.Consultas.Consulta_Pregunta consulta) { ClearJoins(); var query = GetSession().QueryOver <Pregunta>(); //Aplicacion if (!string.IsNullOrEmpty(consulta.Aplicacion)) { JoinAplicacion(query); foreach (var palabra in consulta.Aplicacion.Split(' ')) { var p = palabra.Trim(); query.Where(() => ((joinAplicacion.Nombre != null && joinAplicacion.Nombre.IsLike(p, MatchMode.Anywhere)))); } } //Id Aplicacion if (consulta.AplicacionId.HasValue) { JoinAplicacion(query); query.Where(() => joinAplicacion.Id != null && joinAplicacion.Id == consulta.AplicacionId.Value); } //Identificador Aplicacion if (!string.IsNullOrEmpty(consulta.AplicacionIdentificador)) { JoinAplicacion(query); foreach (var palabra in consulta.AplicacionIdentificador.Split(' ')) { var p = palabra.Trim(); query.Where(() => ((joinAplicacion.Identificador != null && joinAplicacion.Identificador.IsLike(p, MatchMode.Anywhere)))); } } //Tema if (!string.IsNullOrEmpty(consulta.Tema)) { JoinTema(query); foreach (var palabra in consulta.Tema.Split(' ')) { var p = Convert.ToInt32(palabra.Trim()); query.Where(() => (joinTema.Id != null && joinTema.Id == p)); } } //Titulo if (!string.IsNullOrEmpty(consulta.Titulo)) { foreach (var palabra in consulta.Titulo.Split(' ')) { var p = palabra.Trim(); query.Where(x => x.Titulo.IsLike(p, MatchMode.Anywhere)); } } //Dados de baja if (consulta.DadosDeBaja.HasValue) { if (consulta.DadosDeBaja.Value) { query.Where(x => x.FechaBaja != null); } else { query.Where(x => x.FechaBaja == null); } } return(query); }