예제 #1
0
        /// <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();
        }
예제 #2
0
        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));
        }