protected void SaveBannerModel(MiniSiteBannerModel model) { if (model.Id != 0) { var banner = _miniSiteBannerService.GetById(model.Id); int oldPictureId = banner.GetLocalized(x => x.BannerPictureId, model.WorkingLanguage, false); var equalpics = (banner.GetLocalized(x => x.BannerPictureId, _languageService.GetAllLanguages().Where(x => x.UniqueSeoCode == "ru").First().Id, false) == banner.GetLocalized(x => x.BannerPictureId, _languageService.GetAllLanguages().Where(x => x.UniqueSeoCode == "en").First().Id, false)); if (oldPictureId != 0 && oldPictureId != model.PictureId && !equalpics) { var oldPic = _pictureService.GetPictureById(oldPictureId); if (oldPic != null) { _pictureService.DeletePicture(oldPic); } } UpdateBannerLocale(banner, model, model.WorkingLanguage); } else { var banner = new BannerMiniSite(); banner.UserMiniSiteId = _workContext.CurrentCustomer.UserMiniSite.Id; _miniSiteBannerService.Insert(banner); foreach (var lang in model.Languages.Where(x => x.Selected)) { UpdateBannerLocale(banner, model, lang.LanguageId); } } }
public ActionResult Banners() { var model = new List <MiniSiteBannerModel>(); var banners = GetRandomBanners(_workContext.WorkingLanguage.Id); if (banners == null) { return(View(model)); } var langId = _workContext.WorkingLanguage.Id; foreach (var banner in banners) { var bannerModel = new MiniSiteBannerModel(); bannerModel.AltTag = banner.GetLocalized(x => x.BannerAlt, langId, false); bannerModel.TitleTag = banner.GetLocalized(x => x.BannerTitle, langId, false); bannerModel.Url = banner.GetLocalized(x => x.BannerUrl, langId, false); bannerModel.PictureId = banner.GetLocalized(x => x.BannerPictureId, langId, false); if (bannerModel.PictureId != 0) { bannerModel.Picture = new PictureModel() { ImageUrl = _pictureService.GetPictureUrl(bannerModel.PictureId, showDefaultPicture: false) }; } model.Add(bannerModel); } return(View(model)); }
protected void UpdateBannerLocale(BannerMiniSite banner, MiniSiteBannerModel model, int languageId) { _localizedEntityService.SaveLocalizedValue(banner, x => x.BannerTitle, model.TitleTag, languageId); _localizedEntityService.SaveLocalizedValue(banner, x => x.BannerAlt, model.AltTag, languageId); _localizedEntityService.SaveLocalizedValue(banner, x => x.BannerUrl, model.Url, languageId); _localizedEntityService.SaveLocalizedValue(banner, x => x.BannerPictureId, model.PictureId, languageId); }
protected MiniSiteBannerModel PrepareBannerOverviewModel(BannerMiniSite banner, int languageId) { var bannerModel = new MiniSiteBannerModel(); bannerModel.Id = banner.Id; bannerModel.Languages = new List <BuyingRequestLanguageModel>(); foreach (var lang in _languageService.GetAllLanguages() .Where(x => x.UniqueSeoCode == "ru" || x.UniqueSeoCode == "en")) { if (banner.GetLocalized(x => x.BannerPictureId, lang.Id, false) != 0) { var languageModel = new BuyingRequestLanguageModel() { LanguageId = lang.Id, Selected = true, LanguageName = lang.Name, FlagImageUrl = lang.FlagImageFileName }; bannerModel.Languages.Add(languageModel); } else { var languageModel = new BuyingRequestLanguageModel() { LanguageId = lang.Id, Selected = false, LanguageName = lang.Name, FlagImageUrl = lang.FlagImageFileName }; bannerModel.Languages.Add(languageModel); } } bannerModel.AltTag = banner.GetLocalized(x => x.BannerAlt, languageId, false); bannerModel.TitleTag = banner.GetLocalized(x => x.BannerTitle, languageId, false); bannerModel.Url = banner.GetLocalized(x => x.BannerUrl, languageId, false); bannerModel.PictureId = banner.GetLocalized(x => x.BannerPictureId, languageId, false); if (bannerModel.PictureId != null) { bannerModel.Picture = new PictureModel() { ImageUrl = _pictureService.GetPictureUrl(bannerModel.PictureId, showDefaultPicture: false) }; } return(bannerModel); }
public ActionResult BannerSetupEdit(int Id, int languageId) { if (!_workContext.CurrentCustomer.IsRegistered()) { return(RedirectToRoute("HomePage")); } if (_workContext.CurrentCustomer.UserMiniSite == null) { return(RedirectToRoute("HomePage")); } if (Id == 0) { return(RedirectToAction("BannerSetup")); } var banner = _miniSiteBannerService.GetById(Id); if (banner == null) { return(RedirectToAction("BannerSetup")); } var model = new MiniSiteBannerModel(); model.Languages = _languageService.GetAllLanguages().Where(x => x.UniqueSeoCode == "ru" || x.UniqueSeoCode == "en") .Select(x => new BuyingRequestLanguageModel() { LanguageId = x.Id, LanguageName = x.Name, Selected = x.Id == languageId, FlagImageUrl = x.FlagImageFileName }).ToList(); model.PictureId = banner.GetLocalized(x => x.BannerPictureId, languageId, false); model.TitleTag = banner.GetLocalized(x => x.BannerTitle, languageId, false); model.AltTag = banner.GetLocalized(x => x.BannerAlt, languageId, false); model.Url = banner.GetLocalized(x => x.BannerUrl, languageId, false); model.Id = banner.Id; model.WorkingLanguage = languageId; return(View(model)); }
public ActionResult BannerSetupEdit(MiniSiteBannerModel model) { if (!_workContext.CurrentCustomer.IsRegistered()) { return(RedirectToRoute("HomePage")); } if (_workContext.CurrentCustomer.UserMiniSite == null) { return(RedirectToRoute("HomePage")); } if (!String.IsNullOrEmpty(model.Url)) { if (model.Url.IndexOf("http://") != 0) { if (model.Url.IndexOf("https://") != 0) { ModelState.AddModelError("Url", _localizationService.GetResource("Etf.MiniSite.Banner.Http.Required")); } } } if (ModelState.IsValid) { SaveBannerModel(model); return(RedirectToAction("BannerSetup")); } model.Languages = _languageService.GetAllLanguages().Where(x => x.UniqueSeoCode == "ru" || x.UniqueSeoCode == "en") .Select(x => new BuyingRequestLanguageModel() { LanguageId = x.Id, LanguageName = x.Name, Selected = x.Id == model.WorkingLanguage, FlagImageUrl = x.FlagImageFileName }).ToList(); return(View(model)); }
public ActionResult BannerSetupAdd(MiniSiteBannerModel model) { if (!_workContext.CurrentCustomer.IsRegistered()) { return(RedirectToRoute("HomePage")); } if (_workContext.CurrentCustomer.UserMiniSite == null) { return(RedirectToRoute("HomePage")); } if (model.Languages.Where(x => x.Selected).FirstOrDefault() == null) { ModelState.AddModelError("WorkingLanguage", _localizationService.GetResource("Etf.MiniSite.Banner.Language.Required")); } if (!String.IsNullOrEmpty(model.Url)) { if (model.Url.IndexOf("http://") != 0) { if (model.Url.IndexOf("https://") != 0) { ModelState.AddModelError("Url", _localizationService.GetResource("Etf.MiniSite.Banner.Http.Required")); } } } if (ModelState.IsValid) { SaveBannerModel(model); return(RedirectToAction("BannerSetup")); } foreach (var lang in model.Languages) { lang.LanguageName = _languageService.GetLanguageById(lang.LanguageId).Name; } return(View(model)); }
public ActionResult BannerSetupAdd() { if (!_workContext.CurrentCustomer.IsRegistered()) { return(RedirectToRoute("HomePage")); } if (_workContext.CurrentCustomer.UserMiniSite == null) { return(RedirectToRoute("HomePage")); } var model = new MiniSiteBannerModel(); model.Languages = _languageService.GetAllLanguages().Where(x => x.UniqueSeoCode == "ru" || x.UniqueSeoCode == "en") .Select(x => new BuyingRequestLanguageModel() { LanguageId = x.Id, LanguageName = x.Name, Selected = false, FlagImageUrl = x.FlagImageFileName }).ToList(); return(View(model)); }