public ActionResult Seleccionar() { ProductoSeleccionarModel productoSeleccionarModel = new ProductoSeleccionarModel(); productoSeleccionarModel.BuscarPorDescripcion = true; return(PartialView(productoSeleccionarModel)); }
//[OutputCache(NoStore = true, Duration = 0, VaryByParam = "None")] public ActionResult ListadoParaSeleccionar(ProductoSeleccionarModel productoSeleccionarModel) { Expression <Func <Producto, object> >[] expressions; if (productoSeleccionarModel.MostrarStockMaxikioscoId.HasValue) { expressions = new Expression <Func <Producto, object> >[] { p => p.Rubro, p => p.Marca, p => p.CodigosProductos, p => p.Stocks.Select(x => x.StockTransacciones) }; } else { expressions = new Expression <Func <Producto, object> >[] { p => p.Rubro, p => p.Marca, p => p.CodigosProductos }; } var productos = Uow.Productos.Listado(expressions) .Where(p => !p.EsPromocion && (string.IsNullOrEmpty(productoSeleccionarModel.Descripcion) || (productoSeleccionarModel.BuscarPorDescripcion && p.Descripcion.ToLower().Contains(productoSeleccionarModel.Descripcion.ToLower())) || (!productoSeleccionarModel.BuscarPorDescripcion && p.CodigosProductos.Any(cp => cp.Codigo.StartsWith(productoSeleccionarModel.Descripcion))))); if (productoSeleccionarModel.BuscarPorDescripcion) { productos = productos.OrderBy(p => p.Descripcion); } else { productos = productos.OrderBy(p => p.CodigosProductos.Select(c => c.Codigo).FirstOrDefault()); } productos = productos.Take(10); ViewBag.MostrarStockMaxikioscoId = productoSeleccionarModel.MostrarStockMaxikioscoId; return(PartialView(productos)); }
//[OutputCache(NoStore = true, Duration = 0, VaryByParam = "None")] public ActionResult ListadoParaSeleccionar(ProductoSeleccionarModel productoSeleccionarModel) { var productos = Uow.Productos.Listado(p => p.Rubro, p => p.Marca, p => p.CodigosProductos) .Where(p => string.IsNullOrEmpty(productoSeleccionarModel.Descripcion) || (productoSeleccionarModel.BuscarPorDescripcion && p.Descripcion.ToLower().Contains(productoSeleccionarModel.Descripcion.ToLower())) || (!productoSeleccionarModel.BuscarPorDescripcion && p.CodigosProductos.Any(cp => cp.Codigo.StartsWith(productoSeleccionarModel.Descripcion)))); if (productoSeleccionarModel.BuscarPorDescripcion) { productos = productos.OrderBy(p => p.Descripcion); } else { productos = productos.OrderBy(p => p.CodigosProductos.Select(c => c.Codigo).FirstOrDefault()); } productos = productos.Take(10); return(PartialView(productos)); }