//[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); }
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); }