public async Task <DiarioBordoDto> Executar(long aulaId) { Aula aula = await mediator.Send(new ObterAulaPorIdQuery(aulaId)); if (aula == null || aula.Excluido) { throw new NegocioException($"Diário de bordo não encontrado", 204); } var aberto = await AulaDentroDoPeriodo(mediator, aula.TurmaId, aula.DataAula); DiarioBordo diarioBordo = await mediator.Send(new ObterDiarioBordoPorAulaIdQuery(aulaId)); if (diarioBordo == null || diarioBordo.Excluido) { diarioBordo = new DiarioBordo { AulaId = aulaId }; return(MapearParaDto(diarioBordo, aberto)); } if (diarioBordo.DevolutivaId != null) { diarioBordo.Devolutiva = await mediator.Send(new ObterDevolutivaPorIdQuery(diarioBordo.DevolutivaId.GetValueOrDefault())); } var dto = MapearParaDto(diarioBordo, aberto); return(dto); }
public async Task Deve_Alterar_Diario_De_Bordo() { // Arrange var mockEntity = new DiarioBordo { Id = 1, AulaId = 1, Planejamento = "01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789" }; mediator.Setup(a => a.Send(It.IsAny <AulaExisteQuery>(), It.IsAny <CancellationToken>())) .ReturnsAsync(true); repositorioDiarioBordo.Setup(a => a.ObterPorAulaId(1)) .ReturnsAsync(mockEntity); repositorioDiarioBordo.Setup(a => a.SalvarAsync(It.IsAny <DiarioBordo>())) .ReturnsAsync(1); // Act var auditoriaDto = inserirDiarioBordoCommandHandler.Handle(new AlterarDiarioBordoCommand(1, 1, "11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111", ""), new System.Threading.CancellationToken()); // Assert repositorioDiarioBordo.Verify(x => x.SalvarAsync(It.IsAny <DiarioBordo>()), Times.Once); Assert.True(auditoriaDto.Id > 0); }
private DiarioBordoDto MapearParaDto(DiarioBordo diarioBordo, bool aberto) { return(new DiarioBordoDto { AulaId = diarioBordo.AulaId, DevolutivaId = diarioBordo.DevolutivaId, Devolutivas = diarioBordo.Devolutiva?.Descricao, Planejamento = diarioBordo.Planejamento, ReflexoesReplanejamento = diarioBordo.ReflexoesReplanejamento, Excluido = diarioBordo.Excluido, Migrado = diarioBordo.Migrado, TemPeriodoAberto = aberto, Auditoria = (AuditoriaDto)diarioBordo }); }
private void MapearAlteracoes(DiarioBordo entidade, AlterarDiarioBordoCommand request) { entidade.Planejamento = request.Planejamento; entidade.ReflexoesReplanejamento = request.ReflexoesReplanejamento; }