public Result AtualizarConta(AtualizarContaCommand command) { try { var result = command.Validate(); if (result.IsFailure) { return(result); } var contaOrNothing = _repository.ObterConta(command.Codigo); if (contaOrNothing.HasNoValue) { return(Result.Fail("Não existe uma conta com o código especificado")); } var conta = contaOrNothing.Value; conta.Renomear(result.Value.Nome); conta.AtualizarIcone(result.Value.Icone); _repository.AtualizarConta(conta); return(Result.Ok()); } catch (Exception ex) { return(Result.Fail("Falha ao atualizar conta")); } }