public IEnumerable <Livro> BuscarPor(LivroPesquisa livroPesquisa) { IEnumerable <Livro> Ret; switch (livroPesquisa.Pesquisa) { case Tipos.Pesquisa.Isbn: Ret = _livroRepositorio.BuscarPorISBN(livroPesquisa.ValorPesquisa); break; case Tipos.Pesquisa.Autor: Ret = _livroRepositorio.BuscarPorAutor(livroPesquisa.ValorPesquisa); break; case Tipos.Pesquisa.Nome: Ret = _livroRepositorio.BuscarPorNome(livroPesquisa.ValorPesquisa); break; case Tipos.Pesquisa.Valor: Ret = _livroRepositorio.BuscarPorPreco(int.Parse(livroPesquisa.ValorPesquisa)); break; case Tipos.Pesquisa.DataPublicacao: Ret = _livroRepositorio.BuscarPorDataPublicacao(DateTime.Parse(livroPesquisa.ValorPesquisa)); break; default: Ret = _livroRepositorio.ListarTodos(); break; } return(OrdernarPor(Ret, livroPesquisa)); }
public async Task <IList <Livro> > FindByTitulo(LivroPesquisa livroPesquisa, PaginacaoParametroDto paginacaoParametro) { if (livroPesquisa.generoId == 0) { return(await _livroRepository.FindByTitulo(livroPesquisa, paginacaoParametro)); } else { return(await _livroRepository.FindByTituloAndGenero(livroPesquisa, paginacaoParametro)); } }
public IEnumerable <Livro> OrdernarPor(IEnumerable <Livro> Livros, LivroPesquisa livroPesquisa) { switch (livroPesquisa.Pesquisa) { case Tipos.Pesquisa.Isbn: return(Livros.OrderBy(x => x.ISBN)); case Tipos.Pesquisa.Autor: return(Livros.OrderBy(x => x.Autor)); case Tipos.Pesquisa.Nome: return(Livros.OrderBy(x => x.Nome)); case Tipos.Pesquisa.Valor: return(Livros.OrderBy(x => x.Preco)); case Tipos.Pesquisa.DataPublicacao: return(Livros.OrderBy(x => x.DataPublicacao)); default: return(Livros); } }
public async Task <IList <Livro> > FindByTituloAndGenero(LivroPesquisa livroPesquisa, PaginacaoParametroDto paginacaoParametro) { return(await GetByExpression(paginacaoParametro, c => c.Titulo.ToLower().Contains(livroPesquisa.description.ToLower()) && c.Genero.Id == livroPesquisa.generoId, c => c.OrderBy(e => e.Titulo), include)); }
public async Task <IList <Livro> > FindByAutor(LivroPesquisa livroPesquisa, PaginacaoParametroDto paginacaoParametro) { return(await GetByExpression(paginacaoParametro, c => c.Autor.ToLower().Contains(livroPesquisa.description.ToLower()), c => c.OrderBy(e => e.Autor), include)); }
public IEnumerable <Livro> BuscarPor(LivroPesquisa livroPesquisa) { //return new AplicacaoLivro(new RepositorioLivro()).ListarTodos(); return(new AplicacaoLivro(new RepositorioLivro()).BuscarPor(livroPesquisa)); }