public async Task <QueryResponse <EventoCalendario> > ConsultarAsync(EncuestaGamEventoCalendarioConsultar modeloConsultar, IRequest peticion) { var alivioEmocional = GetValores(peticion).AlivioEmocionalParametros; var sesion = peticion.GetUserSession(); modeloConsultar.LineaDeAccionId.SiEsCero_O_NullEntonces(() => modeloConsultar.LineaDeAccionId = alivioEmocional.LineaDeAccionId); modeloConsultar.EncargadoId.SiEsCero_O_NullEntonces(() => modeloConsultar.EncargadoId = sesion.GetPersonaId()); modeloConsultar.ProyectoId.SiEsCero_O_NullEntonces(() => modeloConsultar.ProyectoId = alivioEmocional.ProyectoId); //var filtro = await ConstruirFiltro(modeloConsultar, peticion,sesion); return(await repositorio.ConsultarAsync(modeloConsultar, peticion.GetRequestParams())); }
async Task <Expression <Func <EventoCalendario, bool> > > ConstruirFiltro(EncuestaGamEventoCalendarioConsultar modelo, IRequest peticion, CustomUserSession sesion) { IList <int> regionalIds = new List <int>(); if (modelo.EncargadoId == sesion.GetPersonaId()) { regionalIds = sesion.Regionales.ConvertAll(x => x.Id); } else { var regionales = peticion.TryResolve <IRegionalGestorConsultas>(); regionalIds = await regionales.ConsultarRegionalIdsAsignadosAsync(modelo.EncargadoId.Value); } Expression <Func <EventoCalendario, bool> > filtro = entidad => regionalIds.Contains(entidad.RegionalId); return(filtro); }
public async Task <QueryResponse <EventoCalendario> > ConsultarAsync(EncuestaGamEventoCalendarioConsultar modelo, Dictionary <string, string> peticion, Expression <Func <EventoCalendario, bool> > filtro = null) { return(await repositorio.ConsultarAsync(modelo, peticion, filtro)); }
public QueryResponse <EventoCalendario> Get(EncuestaGamEventoCalendarioConsultar modelo) { return(Gestor.ConsultarAsync(modelo, Request).Result); }