コード例 #1
0
        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);
        }
コード例 #2
0
        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)));
        }