public ActionResult RelatedProductAddPopupList(DataSourceRequest command, AuctionModel.AddRelatedProductModel model) { //if (!_permissionService.Authorize(StandardPermissionProvider.ManageProducts)) // return AccessDeniedView(); //a vendor should have access only to his products if (_workContext.CurrentVendor != null) { model.SearchVendorId = _workContext.CurrentVendor.Id; } var products = _productService.SearchProducts( categoryIds: new List <int> { model.SearchCategoryId }, manufacturerId: model.SearchManufacturerId, storeId: model.SearchStoreId, vendorId: model.SearchVendorId, //productType: model.SearchProductTypeId > 0 ? (ProductType?)model.SearchProductTypeId : null, keywords: model.SearchProductName, pageIndex: command.Page - 1, pageSize: command.PageSize, showHidden: true ); var gridModel = new DataSourceResult(); //gridModel.Data = products.Select(x => x.ToModel()); gridModel.Data = products.Select(x => new ModelsMapper().CreateMap <Product, ProductModel>(x)); gridModel.Total = products.TotalCount; return(Json(gridModel)); }
public ActionResult RelatedProductAddPopup(string btnId, string formId, AuctionModel.AddRelatedProductModel model) { //if (!_permissionService.Authorize(StandardPermissionProvider.ManageProducts)) // return AccessDeniedView(); if (model.SelectedProductIds.Count() > 1) { ModelState.AddModelError("NumberOfProducts", "Please select a single product."); model.IsLoggedInAsVendor = _workContext.CurrentVendor != null; ViewBag.RefreshPage = false; ViewBag.btnId = btnId; ViewBag.formId = formId; return(View(model)); } if (model.SelectedProductIds != null) { foreach (int id in model.SelectedProductIds) { var product = _productService.GetProductById(id); if (product != null) { //a vendor should have access only to his products //if (_workContext.CurrentVendor != null && product.VendorId != _workContext.CurrentVendor.Id) // continue; var existingAuctionedProduct = _auctionService.GetAuctionedProductByAuctionId(model.AuctionId); if (existingAuctionedProduct == null) { _auctionService.InsertAuctionedProduct(model.AuctionId, product.Id); } } } } //a vendor should have access only to his products model.IsLoggedInAsVendor = _workContext.CurrentVendor != null; ViewBag.RefreshPage = true; ViewBag.btnId = btnId; ViewBag.formId = formId; return(View(model)); }
public ActionResult RelatedProductAddPopup(int auctionId) { //if (!_permissionService.Authorize(StandardPermissionProvider.ManageProducts)) // return AccessDeniedView(); var model = new AuctionModel.AddRelatedProductModel(); //a vendor should have access only to his products model.IsLoggedInAsVendor = _workContext.CurrentVendor != null; //categories model.AvailableCategories.Add(new SelectListItem { Text = _localizationService.GetResource("Admin.Common.All"), Value = "0" }); var categories = _categoryService.GetAllCategories(showHidden: true); foreach (var c in categories) { model.AvailableCategories.Add(new SelectListItem { Text = c.GetFormattedBreadCrumb(categories), Value = c.Id.ToString() }); } //manufacturers model.AvailableManufacturers.Add(new SelectListItem { Text = _localizationService.GetResource("Admin.Common.All"), Value = "0" }); foreach (var m in _manufacturerService.GetAllManufacturers(showHidden: true)) { model.AvailableManufacturers.Add(new SelectListItem { Text = m.Name, Value = m.Id.ToString() }); } //stores model.AvailableStores.Add(new SelectListItem { Text = _localizationService.GetResource("Admin.Common.All"), Value = "0" }); foreach (var s in _storeService.GetAllStores()) { model.AvailableStores.Add(new SelectListItem { Text = s.Name, Value = s.Id.ToString() }); } //vendors model.AvailableVendors.Add(new SelectListItem { Text = _localizationService.GetResource("Admin.Common.All"), Value = "0" }); foreach (var v in _vendorService.GetAllVendors(showHidden: true)) { model.AvailableVendors.Add(new SelectListItem { Text = v.Name, Value = v.Id.ToString() }); } //product types //model.AvailableProductTypes = ProductType.SimpleProduct.ToSelectList(false).ToList(); //model.AvailableProductTypes.Insert(0, new SelectListItem { Text = _localizationService.GetResource("Admin.Common.All"), Value = "0" }); return(View(model)); }