public async Task <PostagemViewModel> InserirAsync(PostagemInput postagemInput) { Usuario usuarioBanco = await _usuarioRepository.PegarId(postagemInput.UsuarioId); if (usuarioBanco is null) { throw new ArgumentException("Usuário inválido"); } var postagem = new Postagem(postagemInput.Texto, postagemInput.UsuarioId); if (!postagem.IsValid()) { throw new ArgumentException("Dados obrigatórios não preenchidos"); } var idPostagem = await _postagemRepository. InserirAsync(postagem) .ConfigureAwait(false); return(new PostagemViewModel() { Id = idPostagem, UsuarioId = usuarioBanco.Id, NomeUsuario = usuarioBanco.Nome, Texto = postagem.Texto, Criacao = postagem.Criacao }); }