public async Task <CurtidaModelView> InserirAsync(CurtidaInput curtidaInput)
        {
            var postagem = await _curtidaRepository
                           .ObterPostagemPorIdAsync(curtidaInput.PostagemId)
                           .ConfigureAwait(false);

            if (postagem is null)
            {
                throw new ArgumentException("Postagem inexistente.");
            }

            //if (Curtida.IsValid())
            //{

            //}
            var curtida = new Curtida(curtidaInput.UsuarioId, curtidaInput.PostagemId);

            var idCurtida = await _curtidaRepository
                            .InserirAsync(curtida)
                            .ConfigureAwait(false);

            if (idCurtida == 0)
            {
                throw new ArgumentException("Postagem inexistente.");
            }

            return(new CurtidaModelView()
            {
                Id = idCurtida,
                PostagemId = curtida.PostagemId,
                UsuarioId = curtida.UsuarioId,
            });
        }
        public async Task <IActionResult> InserirAsyncPost([FromBody] CurtidaInput curtidaInput)
        {
            try
            {
                var curtida = await _curtidaAppService
                              .InserirAsync(curtidaInput)
                              .ConfigureAwait(false);

                return(Created("", curtida));
            }
            catch (ArgumentException arg)
            {
                return(BadRequest(arg.Message));
            }
        }