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)); }