public ICommandResult Handle(AtualizarAreaAtuacaoCommand command) { if (!command.IsValidCommand()) { return(new CommandResult(false, "Por favor, verificar os campos abaixo", command.Notifications)); } var areaAtuacao = _repository.AreaAtuacao(command.Id); if (areaAtuacao == null) { return(new CommandResult(false, $"A àrea de atuação não existe na base de dados. Código informado: { command.Id }", new { })); } if (command.Titulo != areaAtuacao.Titulo) { if (_repository.AreaAtuacaoExistente(command.Titulo)) { AddNotification("Titulo", $"Área de atuação já cadastrada na base de dados. Título informado: { command.Titulo }"); } } areaAtuacao.AtribuirAreaAtuacao(command.Titulo, command.Descricao); if (command.Ativo.Equals(EBoolean.False)) { areaAtuacao.Desativar(); } else { areaAtuacao.Ativar(); } if (Invalid) { return(new CommandResult(false, "Por favor, corrigir os campos abaixo", Notifications)); } _repository.Atualizar(areaAtuacao); return(new CommandResult(true, "Área de atuação atualizada com sucesso", new { Id = areaAtuacao.Id, Titulo = areaAtuacao.Titulo })); }
public ICommandResult Atualizar([FromBody] AtualizarAreaAtuacaoCommand command) { var result = (CommandResult)_handler.Handle(command); return(result); }