/// <summary> /// Install plugin /// </summary> public override void Install() { //pictures var sampleImagesPath = _webHelper.MapPath("~/Plugins/Widgets.NivoSlider/Content/nivoslider/sample-images/"); //settings var settings = new NivoSliderSettings() { Picture1Id = _pictureService.InsertPicture(File.ReadAllBytes(sampleImagesPath + "banner1.jpg"), "image/pjpeg", "banner_1", true).Id, Text1 = "", Link1 = _webHelper.GetStoreLocation(false), Picture2Id = _pictureService.InsertPicture(File.ReadAllBytes(sampleImagesPath + "banner2.jpg"), "image/pjpeg", "banner_2", true).Id, Text2 = "", Link2 = _webHelper.GetStoreLocation(false), Picture3Id = _pictureService.InsertPicture(File.ReadAllBytes(sampleImagesPath + "banner3.jpg"), "image/pjpeg", "banner_3", true).Id, Text3 = "", Link3 = _webHelper.GetStoreLocation(false), //Picture4Id = _pictureService.InsertPicture(File.ReadAllBytes(sampleImagesPath + "banner4.jpg"), "image/pjpeg", "banner_4", true).Id, //Text4 = "", //Link4 = _webHelper.GetStoreLocation(false), }; _settingService.SaveSetting(settings); this.AddOrUpdatePluginLocaleResource("Plugins.Widgets.NivoSlider.Picture1", "Picture 1"); this.AddOrUpdatePluginLocaleResource("Plugins.Widgets.NivoSlider.Picture2", "Picture 2"); this.AddOrUpdatePluginLocaleResource("Plugins.Widgets.NivoSlider.Picture3", "Picture 3"); this.AddOrUpdatePluginLocaleResource("Plugins.Widgets.NivoSlider.Picture4", "Picture 4"); this.AddOrUpdatePluginLocaleResource("Plugins.Widgets.NivoSlider.Picture", "Picture"); this.AddOrUpdatePluginLocaleResource("Plugins.Widgets.NivoSlider.Picture.Hint", "Upload picture."); this.AddOrUpdatePluginLocaleResource("Plugins.Widgets.NivoSlider.Text", "Comment"); this.AddOrUpdatePluginLocaleResource("Plugins.Widgets.NivoSlider.Text.Hint", "Enter comment for picture. Leave empty if don't want to display any text."); this.AddOrUpdatePluginLocaleResource("Plugins.Widgets.NivoSlider.Link", "URL"); this.AddOrUpdatePluginLocaleResource("Plugins.Widgets.NivoSlider.Link.Hint", "Enter URL. Leave empty if don't want this picture to be clickable."); var sliderItems = _sliderItemService.GetMailPageSlides(); if (sliderItems.Count < 4) { for (int i = 1; i <= 4; i++) { var item = sliderItems.Where(x => x.SlideNumber == i).FirstOrDefault(); if (item == null) { var newItem = new SliderItem() { SlideNumber = i }; _sliderItemService.Insert(newItem); } } } base.Install(); }
public ActionResult SliderSetup(MiniSiteSliderModel model) { if (!_workContext.CurrentCustomer.IsRegistered()) { return(RedirectToRoute("HomePage")); } if (_workContext.CurrentCustomer.UserMiniSite == null) { return(RedirectToRoute("HomePage")); } if (ModelState.IsValid) { var miniSite = _workContext.CurrentCustomer.UserMiniSite; var sliderItems = miniSite.SliderItems; var item = sliderItems.Where(x => x.SlideNumber == 1).FirstOrDefault(); if (item != null) { if (item.PictureId != model.Picture1Id) { if (item.PictureId != 0) { _pictureService.DeletePicture(_pictureService.GetPictureById(item.PictureId)); } item.PictureId = model.Picture1Id; } _localizedEntityService.SaveLocalizedValue(item, x => x.TitleText, model.Title1, model.SelectedLanguageId); _localizedEntityService.SaveLocalizedValue(item, x => x.ShortText, model.Text1, model.SelectedLanguageId); if (!String.IsNullOrEmpty(model.Link1)) { Match match = Regex.Match(model.Link1, @"^http(s?)://\S+$"); model.Link1 = match.Success ? model.Link1 : "http://" + model.Link1; } item.Url = model.Link1; _sliderItemService.Update(item); } else { item = new SliderItem(); item.SlideNumber = 1; item.PictureId = model.Picture1Id; if (!String.IsNullOrEmpty(model.Link1)) { Match match = Regex.Match(model.Link1, @"^http(s?)://\S+$"); model.Link1 = match.Success ? model.Link1 : "http://" + model.Link1; } item.Url = model.Link1; item.UserMiniSiteId = miniSite.Id; _sliderItemService.Insert(item); _localizedEntityService.SaveLocalizedValue(item, x => x.TitleText, model.Title1, model.SelectedLanguageId); _localizedEntityService.SaveLocalizedValue(item, x => x.ShortText, model.Text1, model.SelectedLanguageId); } item = sliderItems.Where(x => x.SlideNumber == 2).FirstOrDefault(); if (item != null) { if (item.PictureId != model.Picture2Id) { if (item.PictureId != 0) { _pictureService.DeletePicture(_pictureService.GetPictureById(item.PictureId)); } item.PictureId = model.Picture2Id; } _localizedEntityService.SaveLocalizedValue(item, x => x.TitleText, model.Title2, model.SelectedLanguageId); _localizedEntityService.SaveLocalizedValue(item, x => x.ShortText, model.Text2, model.SelectedLanguageId); if (!String.IsNullOrEmpty(model.Link2)) { Match match = Regex.Match(model.Link2, @"^http(s?)://\S+$"); model.Link2 = match.Success ? model.Link2 : "http://" + model.Link2; } item.Url = model.Link2; _sliderItemService.Update(item); } else { item = new SliderItem(); item.SlideNumber = 2; item.PictureId = model.Picture2Id; if (!String.IsNullOrEmpty(model.Link2)) { Match match = Regex.Match(model.Link2, @"^http(s?)://\S+$"); model.Link2 = match.Success ? model.Link2 : "http://" + model.Link2; } item.Url = model.Link2; item.UserMiniSiteId = miniSite.Id; _sliderItemService.Insert(item); _localizedEntityService.SaveLocalizedValue(item, x => x.TitleText, model.Title2, model.SelectedLanguageId); _localizedEntityService.SaveLocalizedValue(item, x => x.ShortText, model.Text2, model.SelectedLanguageId); } item = sliderItems.Where(x => x.SlideNumber == 3).FirstOrDefault(); if (item != null) { if (item.PictureId != model.Picture3Id) { if (item.PictureId != 0) { _pictureService.DeletePicture(_pictureService.GetPictureById(item.PictureId)); } item.PictureId = model.Picture3Id; } _localizedEntityService.SaveLocalizedValue(item, x => x.TitleText, model.Title3, model.SelectedLanguageId); _localizedEntityService.SaveLocalizedValue(item, x => x.ShortText, model.Text3, model.SelectedLanguageId); if (!String.IsNullOrEmpty(model.Link3)) { Match match = Regex.Match(model.Link3, @"^http(s?)://\S+$"); model.Link3 = match.Success ? model.Link3 : "http://" + model.Link3; } item.Url = model.Link3; _sliderItemService.Update(item); } else { item = new SliderItem(); item.SlideNumber = 3; item.PictureId = model.Picture3Id; if (!String.IsNullOrEmpty(model.Link3)) { Match match = Regex.Match(model.Link3, @"^http(s?)://\S+$"); model.Link3 = match.Success ? model.Link3 : "http://" + model.Link3; } item.Url = model.Link3; item.UserMiniSiteId = miniSite.Id; _sliderItemService.Insert(item); _localizedEntityService.SaveLocalizedValue(item, x => x.TitleText, model.Title3, model.SelectedLanguageId); _localizedEntityService.SaveLocalizedValue(item, x => x.ShortText, model.Text3, model.SelectedLanguageId); } item = sliderItems.Where(x => x.SlideNumber == 4).FirstOrDefault(); if (item != null) { if (item.PictureId != model.Picture4Id) { if (item.PictureId != 0) { _pictureService.DeletePicture(_pictureService.GetPictureById(item.PictureId)); } item.PictureId = model.Picture4Id; } _localizedEntityService.SaveLocalizedValue(item, x => x.TitleText, model.Title4, model.SelectedLanguageId); _localizedEntityService.SaveLocalizedValue(item, x => x.ShortText, model.Text4, model.SelectedLanguageId); if (!String.IsNullOrEmpty(model.Link4)) { Match match = Regex.Match(model.Link4, @"^http(s?)://\S+$"); model.Link4 = match.Success ? model.Link4 : "http://" + model.Link4; } item.Url = model.Link4; _sliderItemService.Update(item); } else { item = new SliderItem(); item.SlideNumber = 4; item.PictureId = model.Picture4Id; if (!String.IsNullOrEmpty(model.Link4)) { Match match = Regex.Match(model.Link4, @"^http(s?)://\S+$"); model.Link4 = match.Success ? model.Link4 : "http://" + model.Link4; } item.Url = model.Link4; item.UserMiniSiteId = miniSite.Id; _sliderItemService.Insert(item); _localizedEntityService.SaveLocalizedValue(item, x => x.TitleText, model.Title4, model.SelectedLanguageId); _localizedEntityService.SaveLocalizedValue(item, x => x.ShortText, model.Text4, model.SelectedLanguageId); } } var lang = _languageService.GetLanguageById(model.SelectedLanguageId); model.SelectedLanguage = new LanguageModel() { Name = lang.Name, LanguageCulture = lang.LanguageCulture, Id = lang.Id }; model.AviableLanguages = new List <LanguageModel>(); var language = _languageService.GetAllLanguages().Where(x => x.UniqueSeoCode == "ru").FirstOrDefault(); model.AviableLanguages.Add(new LanguageModel() { Name = language.Name, LanguageCulture = language.LanguageCulture, Id = language.Id }); language = _languageService.GetAllLanguages().Where(x => x.UniqueSeoCode == "en").FirstOrDefault(); model.AviableLanguages.Add(new LanguageModel() { Name = language.Name, LanguageCulture = language.LanguageCulture, Id = language.Id }); model.SelectedLanguageId = lang.Id; return(View(model)); }