public ICommandResult Handle(DeleteServerCommand command) { command.Validate(); if (command.IsInvalid) { return(new DefaultCommandResult(CommandResultStatus.InvalidCommand, command.Notifications)); } try { var server = _serverRepository.GetById(command.ServerId); if (server == null) { return(new DefaultCommandResult(CommandResultStatus.InvalidData, "Nenhum servidor foi localizado")); } _serverRepository.Delete(server); return(new DefaultCommandResult(server.Id)); } catch (Exception e) { Console.WriteLine($"Fail to execute DeleteServerHandler. Fail stack ===> {e.ToString()}"); return(new DefaultCommandResult(CommandResultStatus.Exception)); } }
public IActionResult Delete([FromServices] ServerHandler handler, [FromRoute] Guid serverId) { var command = new DeleteServerCommand(serverId); var response = (DefaultCommandResult)handler.Handle(command); return(this.DefaultCommandResultToActionResult(response)); }
public DeleteServerHandlerTest() { _dataContextMock = new DataContextMock(); _invalidCommand = new DeleteServerCommand(new Guid()); _validCommandWithNotExistsId = new DeleteServerCommand(Guid.NewGuid()); var serverSalvedId = _dataContextMock.Servers.FirstOrDefault().Id; _validCommand = new DeleteServerCommand(serverSalvedId); }
public async Task <IActionResult> Delete(int id, CancellationToken cancellationToken) { var command = new DeleteServerCommand { Id = id }; await Mediator.Send(command, cancellationToken); return(NoContent()); }
public async Task Retornar_erro_quando_identificador_servidor_for_vazio() { var command = new DeleteServerCommand(Guid.Empty); var result = await _handler.Handle(command, CancellationToken.None); result.SuccessData.Should().BeFalse(); result.FailData.Should().Be("Identificador do servidor é obrigatório."); }
public async Task Retornar_falha_quando_nao_encontrar_servidor() { var serverId = Guid.NewGuid(); var command = new DeleteServerCommand(serverId); var result = await _handler.Handle(command, CancellationToken.None); result.SuccessData.Should().BeFalse(); result.FailData.Should().Be($"Não foi encontrado servidor com identificador {serverId}"); }
public async Task Retornar_sucesso_quando_excluir_servidor() { _serverRepositoryMock.Setup(x => x.Delete(It.IsAny <Guid>())).Returns(true); var command = new DeleteServerCommand(Guid.NewGuid()); var result = await _handler.Handle(command, CancellationToken.None); result.SuccessData.Should().BeTrue(); _serverRepositoryMock.Verify(x => x.SaveChangesAsync(), Times.Once()); }