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> CadastrarLivro(LivrosDTO livros) { HttpResponseMessage response = null; if (!ModelState.IsValid || livros == null) { throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState)); } var livroAdicionado = _livrosApplication.Add(livros); if (!livroAdicionado.ValidationResult.IsValid) { foreach (var item in livroAdicionado.ValidationResult.Erros) { ModelState.AddModelError(string.Empty, item.Message); } throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState)); } response = Request.CreateResponse(HttpStatusCode.Created, new { message = "Leitura do livro foi criada com sucesso!" }); //var newUriRecurso = Url.Link("GetBookById", new { id = livroAdicionado.LivroId, controller = "livros" }); //response.Headers.Location = new Uri(newUriRecurso); var tarefa = new TaskCompletionSource <HttpResponseMessage>(); tarefa.SetResult(response); return(tarefa.Task); }
/// <summary> /// Método responsável por buscar os livros de acordo com uma categoria /// </summary> /// <param name="livrosDto">DTO da entidade Livro</param> /// <param name="skip">Utilizado para paginação de registros</param> /// <param name="take">Utilizado para paginação de registros</param> /// <returns>Lista de livros filtrados</returns> public FiltrosPesquisaDTO <LivrosDTO> LivrosPorCategoria(LivrosDTO livrosDto, int skip = 0, int take = 10) { var total = 0; var livrosDomain = Mapper.Map <LivrosDTO, Livros>(livrosDto); var listaLivros = _livrosService.LivrosPorCategoria(livrosDomain, out total, skip, take); return(ConverterListaDominioToDto(listaLivros, total)); }
/// <summary> /// Método responsável por adicionar um livro ao domínio /// </summary> /// <param name="livrosDto">Livro a ser adicionado</param> public LivrosDTO Add(LivrosDTO livrosDto) { var livros = Mapper.Map <LivrosDTO, Livros>(livrosDto); var livroDomain = _livrosService.Add(livros); var livroDto = Mapper.Map(livroDomain, livrosDto); return(livroDto); }
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); }