public Task <HttpResponseMessage> LivroPorTitulo([FromUri] LivrosDTO filtros, int?pagina)
        {
            HttpResponseMessage response = null;

            if (filtros.Titulo == null || filtros.UsuarioId == Guid.Empty)
            {
                const string message = "Por favor, informe o titulo do livro e o identificador do usuário!";
                throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.BadRequest, message));
            }

            var livro = _livrosApplication.BuscarPorTitulo(filtros, PagingHelper.GetOffset(pagina),
                                                           PagingHelper.GetTake());

            //var livro = _livrosApplication.BuscarPorTitulo(filtros, skip, take);

            if (!livro.Dto.Any())
            {
                const string message =
                    "Desculpe, não foi possível encontrar nenhum resultado para os filtros utilizados.";
                response = Request.CreateResponse(HttpStatusCode.NoContent, message);
            }
            else
            {
                response = Request.CreateResponse(HttpStatusCode.OK, livro);
            }

            var tarefa = new TaskCompletionSource <HttpResponseMessage>();

            tarefa.SetResult(response);
            return(tarefa.Task);
        }
        public Task <HttpResponseMessage> ObterTodosLivros([FromUri] LivrosDTO filtros, int?pagina)
        {
            HttpResponseMessage response = null;

            var livros = _livrosApplication.GetAll(filtros, PagingHelper.GetOffset(pagina),
                                                   PagingHelper.GetTake());

            if (!livros.Dto.Any())
            {
                response = Request.CreateResponse(HttpStatusCode.NoContent, new { message = "Desculpe, não foi possível encontrar nenhum resultado para os filtros utilizados." });
            }
            else
            {
                response = Request.CreateResponse(HttpStatusCode.OK, livros);
            }

            var tarefa = new TaskCompletionSource <HttpResponseMessage>();

            tarefa.SetResult(response);
            return(tarefa.Task);
        }
Esempio n. 3
0
        public Task <HttpResponseMessage> MetasPorLivro(Guid livroId, [FromUri] int?pagina)
        {
            HttpResponseMessage response = null;

            var metasLivros = _metasApplication.MetasPorLivro(livroId, PagingHelper.GetOffset(pagina), PagingHelper.GetTake());

            if (!metasLivros.Dto.Any())
            {
                const string message = "Desculpe, não existem metas para o livro informado.";
                response = Request.CreateResponse(HttpStatusCode.NoContent, message);
            }
            else
            {
                response = Request.CreateResponse(HttpStatusCode.OK, metasLivros);
            }

            var tarefa = new TaskCompletionSource <HttpResponseMessage>();

            tarefa.SetResult(response);
            return(tarefa.Task);
        }