public async Task <bool> Executar(FiltroRelatorioBoletimDto filtroRelatorioBoletimDto) { if (repositorioDre.ObterPorCodigo(filtroRelatorioBoletimDto.DreCodigo) == null) { throw new NegocioException("Não foi possível encontrar a DRE"); } if (repositorioUe.ObterPorCodigo(filtroRelatorioBoletimDto.UeCodigo) == null) { throw new NegocioException("Não foi possível encontrar a UE"); } if (!string.IsNullOrEmpty(filtroRelatorioBoletimDto.TurmaCodigo)) { int codigoTurma; if (int.TryParse(filtroRelatorioBoletimDto.TurmaCodigo, out codigoTurma) && codigoTurma <= 0) { filtroRelatorioBoletimDto.TurmaCodigo = String.Empty; } else if (await repositorioTurma.ObterPorCodigo(filtroRelatorioBoletimDto.TurmaCodigo) == null) { throw new NegocioException("Não foi possível encontrar a turma"); } } unitOfWork.IniciarTransacao(); var usuarioLogado = await mediator.Send(new ObterUsuarioLogadoQuery()); filtroRelatorioBoletimDto.Usuario = usuarioLogado; var retorno = await mediator.Send(new GerarRelatorioCommand(TipoRelatorio.Boletim, filtroRelatorioBoletimDto, usuarioLogado)); unitOfWork.PersistirTransacao(); return(retorno); }
public async Task <IActionResult> Imprimir([FromBody] FiltroRelatorioBoletimDto filtroRelatorioBoletimDto, [FromServices] IBoletimUseCase boletimUseCase) { return(Ok(await boletimUseCase.Executar(filtroRelatorioBoletimDto))); }