public async Task <Response <PostResponse> > Handle(ObterRequest <PostResponse> request, CancellationToken cancellationToken)
        {
            var error = new Response <PostResponse>();

            try
            {
                var post = _repository.ObterQueryEntidade().AsNoTracking().FirstOrDefaultAsync(u => u.Id == request.Id);

                var response = _mapper.Map <PostResponse>(await post);

                return(await Task.FromResult(new Response <PostResponse>(response)));
            }
            catch (Exception e)
            {
                error.AddError(e.Source, e.Message);
            }

            return(await Task.FromResult(error));
        }
        public override Task <ObterResponse> ObterParaApp(ObterRequest request, ServerCallContext context)
        {
            var response = new ObterResponse();

            try
            {
                var usuarioId = Guid.Parse(request.UsuarioId);

                var banners = servico.Obter(usuarioId);

                response.HttpStatusCode = (int)HttpStatusCode.OK;
                response.Banners.AddRange(banners);
            }
            catch (Exception ex)
            {
                response.HttpStatusCode = (int)HttpStatusCode.InternalServerError;
                response.Erro           = ex.Message;
            }

            return(Task.FromResult(response));
        }
        public async Task <Response <CommentResponse> > Handle(ObterRequest <CommentResponse> request, CancellationToken cancellationToken)
        {
            var error = new Response <CommentResponse>();

            try
            {
                var comment = _repository.ObterQueryEntidade().AsNoTracking().FirstOrDefault(u => u.Id == request.Id);

                if (comment is null)
                {
                    throw new EntityNotFoundException <Comment>();
                }

                var response = _mapper.Map <Comment, CommentResponse>(comment);

                return(await Task.FromResult(new Response <CommentResponse>(response)));
            }
            catch (Exception e)
            {
                error.AddError(e.Source, e.Message);
            }

            return(await Task.FromResult(error));
        }
        public async Task <IActionResult> ObterAsync([FromBody] ObterRequest request)
        {
            var result = await this.EstoqueApp.ObterAsync(request);

            return(result.ToHttpResponse());
        }