Esempio n. 1
0
 public async Task <IEnumerable <RetornoCicloDto> > Executar(FiltroCicloPorModalidadeECodigoUeDto filtro)
 {
     return(await mediator.Send(new ObterCiclosPorModalidadeECodigoUeQuery(filtro.Modalidade, filtro.CodigoUe, filtro.ConsideraAbrangencia)));
 }
        public async Task <IEnumerable <RetornoCicloDto> > ObterCiclosPorAnoModalidadeECodigoUe(FiltroCicloPorModalidadeECodigoUeDto filtro)
        {
            StringBuilder query = new StringBuilder();

            query.AppendLine("select distinct tc.id, tc.descricao from tipo_ciclo tc ");
            query.AppendLine("inner join tipo_ciclo_ano tca on tca.tipo_ciclo_id = tc.id ");
            query.AppendLine("inner join turma t on t.ano = tca.ano ");
            query.AppendLine("inner join ue ue on t.ue_id = ue.id ");
            query.AppendLine("where tc.descricao is not null ");

            if (filtro.Modalidade > 0)
            {
                query.AppendLine("and tca.modalidade = @modalidade ");
            }

            if (!string.IsNullOrEmpty(filtro.CodigoUe) && !filtro.CodigoUe.Equals("-99"))
            {
                query.AppendLine("and ue.ue_id = @codigoUe ");
            }

            var parametros = new { filtro.Modalidade, filtro.CodigoUe };

            return(await database.Conexao.QueryAsync <RetornoCicloDto>(query.ToString(), parametros));
        }