public async Task <IActionResult> Index(string filter, string nome, string autor, int?isbn, int?preco, string datapublicacao, int page = 1, string sortExpression = "Id", bool flagFilter = false) { if (!flagFilter) { ViewBag.Filter = filter; IQueryable <Livro> listLivro = _livroDAO.ListFiltroAll(filter); var livrosViewModel = new List <LivroViewModel>(); foreach (var livro in listLivro) { var data = livro.Data_Publicacao != null?livro.Data_Publicacao.Value.ToString("dd/MM/yyyy") : null; var livroViewModel = new LivroViewModel { Id = livro.Id, ISBN = livro.ISBN, Autor = livro.Autor, Nome = livro.Nome, Preco = livro.Preco, Data_Publicacao = data, Url_Imagem = livro.Url_Imagem }; livrosViewModel.Add(livroViewModel); } _plLivro = PagingList.Create(livrosViewModel, PageSize, page, sortExpression, "Id"); _plLivro.RouteValue = new RouteValueDictionary { { "filter", filter }, }; } else { DateTime?dp = datapublicacao != null?Convert.ToDateTime(datapublicacao) : (DateTime?)null; IQueryable <Livro> listLivro = _livroDAO.ListFiltroCustom(isbn, autor, nome, preco, dp); var livrosViewModel = new List <LivroViewModel>(); foreach (var livro in listLivro) { var data = livro.Data_Publicacao != null?livro.Data_Publicacao.Value.ToString("dd/MM/yyyy") : null; var livroViewModel = new LivroViewModel { Id = livro.Id, ISBN = livro.ISBN, Autor = livro.Autor, Nome = livro.Nome, Preco = livro.Preco, Data_Publicacao = data, Url_Imagem = livro.Url_Imagem }; livrosViewModel.Add(livroViewModel); } _plLivro = PagingList.Create(livrosViewModel, PageSize, page, sortExpression, "Id"); _plLivro.RouteValue = new RouteValueDictionary { { "filter", filter }, }; } return(View(_plLivro)); }