public ActionResult Configure() { var model = new FeedFroogleModel(); //picture model.ProductPictureSize = _froogleSettings.ProductPictureSize; //stores model.StoreId = _froogleSettings.StoreId; 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() }); //currencies model.CurrencyId = _froogleSettings.CurrencyId; foreach (var c in _currencyService.GetAllCurrencies()) model.AvailableCurrencies.Add(new SelectListItem() { Text = c.Name, Value = c.Id.ToString() }); //Google categories model.DefaultGoogleCategory = _froogleSettings.DefaultGoogleCategory; model.AvailableGoogleCategories.Add(new SelectListItem() {Text = "Select a category", Value = ""}); foreach (var gc in _googleService.GetTaxonomyList()) model.AvailableGoogleCategories.Add(new SelectListItem() {Text = gc, Value = gc}); //file paths foreach (var store in _storeService.GetAllStores()) { var localFilePath = System.IO.Path.Combine(HttpRuntime.AppDomainAppPath, "content\\files\\exportimport", store.Id + "-" + _froogleSettings.StaticFileName); if (System.IO.File.Exists(localFilePath)) model.GeneratedFiles.Add(new FeedFroogleModel.GeneratedFileModel() { StoreName = store.Name, FileUrl = string.Format("{0}content/files/exportimport/{1}-{2}", _webHelper.GetStoreLocation(false), store.Id, _froogleSettings.StaticFileName) }); } return View("Nas.Plugin.Feed.Froogle.Views.FeedFroogle.Configure", model); }
public ActionResult GenerateFeed(FeedFroogleModel model) { try { var pluginDescriptor = _pluginFinder.GetPluginDescriptorBySystemName("PromotionFeed.Froogle"); if (pluginDescriptor == null) throw new Exception("Cannot load the plugin"); //plugin var plugin = pluginDescriptor.Instance() as FroogleService; if (plugin == null) throw new Exception("Cannot load the plugin"); var stores = new List<Store>(); var storeById = _storeService.GetStoreById(_froogleSettings.StoreId); if (storeById != null) stores.Add(storeById); else stores.AddRange(_storeService.GetAllStores()); foreach (var store in stores) plugin.GenerateStaticFile(store); model.GenerateFeedResult = _localizationService.GetResource("Plugins.Feed.Froogle.SuccessResult"); } catch (Exception exc) { model.GenerateFeedResult = exc.Message; _logger.Error(exc.Message, exc); } //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() }); //currencies foreach (var c in _currencyService.GetAllCurrencies()) model.AvailableCurrencies.Add(new SelectListItem() { Text = c.Name, Value = c.Id.ToString() }); //Google categories model.AvailableGoogleCategories.Add(new SelectListItem() { Text = "Select a category", Value = "" }); foreach (var gc in _googleService.GetTaxonomyList()) model.AvailableGoogleCategories.Add(new SelectListItem() { Text = gc, Value = gc }); //file paths foreach (var store in _storeService.GetAllStores()) { var localFilePath = System.IO.Path.Combine(HttpRuntime.AppDomainAppPath, "content\\files\\exportimport", store.Id + "-" + _froogleSettings.StaticFileName); if (System.IO.File.Exists(localFilePath)) model.GeneratedFiles.Add(new FeedFroogleModel.GeneratedFileModel() { StoreName = store.Name, FileUrl = string.Format("{0}content/files/exportimport/{1}-{2}", _webHelper.GetStoreLocation(false), store.Id, _froogleSettings.StaticFileName) }); } return View("Nas.Plugin.Feed.Froogle.Views.FeedFroogle.Configure", model); }
public ActionResult GoogleProductUpdate(GridCommand command, FeedFroogleModel.GoogleProductModel model) { if (!_permissionService.Authorize(StandardPermissionProvider.ManagePlugins)) return Content("Access denied"); var googleProduct = _googleService.GetByProductVariantId(model.ProductVariantId); if (googleProduct != null) { googleProduct.Taxonomy = model.GoogleCategory; googleProduct.Gender = model.Gender; googleProduct.AgeGroup = model.AgeGroup; googleProduct.Color = model.Color; googleProduct.Size = model.GoogleSize; _googleService.UpdateGoogleProductRecord(googleProduct); } else { //insert googleProduct = new GoogleProductRecord() { ProductVariantId = model.ProductVariantId, Taxonomy = model.GoogleCategory, Gender = model.Gender, AgeGroup = model.AgeGroup, Color = model.Color, Size = model.GoogleSize }; _googleService.InsertGoogleProductRecord(googleProduct); } return GoogleProductList(command); }
public ActionResult Configure(FeedFroogleModel model) { if (!ModelState.IsValid) { return Configure(); } //save settings _froogleSettings.ProductPictureSize = model.ProductPictureSize; _froogleSettings.CurrencyId = model.CurrencyId; _froogleSettings.StoreId = model.StoreId; _froogleSettings.DefaultGoogleCategory = model.DefaultGoogleCategory; _settingService.SaveSetting(_froogleSettings); //redisplay the form return Configure(); }