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 }); }
public async Task <IActionResult> InserirPostagem([FromBody] PostagemInput postagemInput) { try { var postagem = await _postagemAppService .InserirPostagem(postagemInput) .ConfigureAwait(false); return(Created("", postagem)); } catch (ArgumentException arg) { return(BadRequest(arg.Message)); } }
public async Task <Postagem> InserirPostagem(PostagemInput input) { var usuarioId = _logado.ObterUsuarioLogado(); var postagem = new Postagem(input.Texto, input.FotoPost, usuarioId); if (!postagem.EhValido()) { throw new ArgumentException("Você não pode inserir uma postagem vazia"); } int id = await _postagemRepository .InserirPostagem(postagem) .ConfigureAwait(false); postagem.SetId(id); return(postagem); }