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