public ActionResult Configure(SliderItemModel model) { if (!ModelState.IsValid) { return(Configure()); } var item = _sliderItemService.GetMailPageSlides().Where(x => x.Id == model.Id).FirstOrDefault(); if (item.PictureId != model.PictureId) { if (item.PictureId != 0) { var pic = _pictureService.GetPictureById(item.PictureId); if (pic != null) { _pictureService.DeletePicture(pic); } } item.PictureId = model.PictureId; } foreach (var lang in _languageService.GetAllLanguages()) { var locale = model.Locales.Where(x => x.LanguageId == lang.Id).FirstOrDefault(); _localizedEntityService.SaveLocalizedValue(item, x => x.TitleText, locale.Text, lang.Id); _localizedEntityService.SaveLocalizedValue(item, x => x.ShortText, locale.SubText, lang.Id); } item.Url = model.Link; _sliderItemService.Update(item); var newModel = new SliderItemListModel(); newModel.Slides = new List <SliderItemModel>(); var items = _sliderItemService.GetMailPageSlides(); foreach (var newItem in items) { var tmpModel = new SliderItemModel(); tmpModel.Locales = new List <SliderItemLocalizedModel>(); tmpModel.Id = newItem.Id; tmpModel.PictureId = newItem.PictureId; tmpModel.Link = newItem.Url; AddLocales(_languageService, tmpModel.Locales, (locale, languageId) => { locale.SubText = newItem.GetLocalized(x => x.ShortText, languageId, false, false); locale.Text = newItem.GetLocalized(x => x.TitleText, languageId, false, false); }); newModel.Slides.Add(tmpModel); } newModel.Returning = true; return(View("Nop.Plugin.Widgets.NivoSlider.Views.WidgetsNivoSlider.Configure", newModel)); }
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)); }