public void EditarComentario(Guid comentarioId, Guid usuarioModificacaoId, string comentario) { Comentario comentarioQueSeraEditado = _comentarios.FirstOrDefault(c => c.Id == comentarioId); new Contract <Postagem>() .IsNotNull(comentarioQueSeraEditado, nameof(comentarioQueSeraEditado), "O comentário informado não existe.") .EnsureContractIsValid() .AreEquals(comentarioQueSeraEditado.UsuarioId, usuarioModificacaoId, nameof(usuarioModificacaoId), "O comentário apenas pode ser editado pelo autor do comentário.") .EnsureContractIsValid <Postagem, DomainInvalidOperationException>(); comentarioQueSeraEditado.Editar(comentario); }