public PedidosViewModel GetPedidoModel(int?page) { IQueryable <Pedido> pedidos = db.Pedido.Include(x => x.ApplicationUser); if (User.IsInRole("Cliente")) { pedidos = pedidos.Where(x => x.ApplicationUserId == _userManager.GetUserAsync(HttpContext.User).Result.Id); } else { ViewBag.ApplicationUserId = new SelectList(db.Users.OrderBy(x => x.Nome).ToList(), "Id", "Nome"); } PedidosFilterModel filterModel = HttpContext.Session.GetComplexData <PedidosFilterModel>("FilterModelPedido"); if (filterModel != null) { if (filterModel.DataPedidoFilter != null) { pedidos = pedidos.Where(x => x.DataPedido.Date == DateTime.ParseExact(filterModel.DataPedidoFilter, "dd/MM/yyyy", CultureInfo.CurrentCulture)); } if (filterModel.ClienteIdFilter != null) { pedidos = pedidos.Where(x => x.ApplicationUserId == filterModel.ClienteIdFilter); } } PedidosViewModel model = new PedidosViewModel(pedidos, new Pager(pedidos.Count(), page)); return(model); }
public IActionResult Filtrar(string DataPedidoFilter, string ClienteIdFilter) { var filterModel = new PedidosFilterModel() { ClienteIdFilter = ClienteIdFilter, DataPedidoFilter = DataPedidoFilter }; HttpContext.Session.SetComplexData("FilterModelPedido", filterModel); ModelState.Clear(); return(PartialView("_PedidosTablePartial", GetPedidoModel(1))); }