public List <ProductPictureViewModel> Search(ProductPictureSearchModel searchModel) { var query = _context.ProductPictures.Include(x => x.Product).Select(x => new ProductPictureViewModel { Id = x.Id, Product = x.Product.Name, CreationDate = x.CreationDate.ToFarsi(), Picture = x.Picture, ProductId = x.ProductId, IsRemoved = x.IsRemoved }); if (searchModel.ProductId != 0) { query = query.Where(x => x.ProductId == searchModel.ProductId); } return(query.OrderByDescending(x => x.Id).ToList()); }
/// <summary> /// Prepare paged product picture list model /// </summary> /// <param name="searchModel">Product picture search model</param> /// <param name="product">Product</param> /// <returns>Product picture list model</returns> public virtual ProductPictureListModel PrepareProductPictureListModel(ProductPictureSearchModel searchModel, Product product) { if (searchModel == null) { throw new ArgumentNullException(nameof(searchModel)); } if (product == null) { throw new ArgumentNullException(nameof(product)); } //get product pictures var productPictures = _productService.GetProductPicturesByProductId(product.Id); //prepare grid model var model = new ProductPictureListModel { Data = productPictures.PaginationByRequestModel(searchModel).Select(productPicture => { //fill in model values from the entity var productPictureModel = new ProductPictureModel { Id = productPicture.Id, ProductId = productPicture.ProductId, PictureId = productPicture.PictureId, DisplayOrder = productPicture.DisplayOrder }; //fill in additional values (not existing in the entity) var picture = _pictureService.GetPictureById(productPicture.PictureId) ?? throw new Exception("Picture cannot be loaded"); productPictureModel.PictureUrl = _pictureService.GetPictureUrl(picture); productPictureModel.OverrideAltAttribute = picture.AltAttribute; productPictureModel.OverrideTitleAttribute = picture.TitleAttribute; return(productPictureModel); }), Total = productPictures.Count }; return(model); }
/// <summary> /// Prepare product picture search model /// </summary> /// <param name="searchModel">Product picture search model</param> /// <param name="product">Product</param> /// <returns>Product picture search model</returns> protected virtual ProductPictureSearchModel PrepareProductPictureSearchModel(ProductPictureSearchModel searchModel, Product product) { if (searchModel == null) { throw new ArgumentNullException(nameof(searchModel)); } if (product == null) { throw new ArgumentNullException(nameof(product)); } searchModel.ProductId = product.Id; //prepare page parameters searchModel.SetGridPageSize(); return(searchModel); }
public List <ProductPictureViewModel> Search(ProductPictureSearchModel searchModel) { var query = _db.ProductPictures.Include(p => p.Product).Select(p => new ProductPictureViewModel() { Id = p.Id, Picture = p.Picture, Product = p.Product.Name, CreationDate = p.CreationDate.ToPersianDate(), IsRemoved = p.IsRemoved, ProductId = p.ProductId }); if (searchModel.ProductId != 0) { query = query.Where(p => p.ProductId == searchModel.ProductId); } return(query.OrderByDescending(p => p.Id).AsNoTracking().ToList()); }
public virtual IActionResult ProductPictureList(ProductPictureSearchModel searchModel) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageProducts)) { return(AccessDeniedKendoGridJson()); } //try to get a product with the specified id var product = _productService.GetProductById(searchModel.ProductId) ?? throw new ArgumentException("No product found with the specified id"); //a vendor should have access only to his products if (_workContext.CurrentVendor != null && product.VendorId != _workContext.CurrentVendor.Id) { return(Content("This is not your product")); } //prepare model var model = _productModelFactory.PrepareProductPictureListModel(searchModel, product); return(Json(model)); }
public void OnGet(ProductPictureSearchModel searchModel) { Products = new SelectList(_productApplication.GetProducts(), "Id", "Name"); ProductPictures = _productPictureApplication.Search(searchModel); }
public List <ProductPictureViewModel> Search(ProductPictureSearchModel searchModel) { return(_productPictureRepository.Search(searchModel)); }
public void OnGet(ProductPictureSearchModel searchModel) { Slides = _slideApplication.GetList(); }