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); } } }
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); }
public void Update(BannerMiniSite banner) { if (banner == null) { throw new ArgumentNullException("BannerMiniSite"); } _repository.Update(banner); _eventPublisher.EntityUpdated(banner); }
public void Delete(BannerMiniSite banner) { if (banner == null) { throw new ArgumentNullException("BannerMiniSite"); } if (banner.BannerPictureId != 0) { _pictureService.DeletePicture(_pictureService.GetPictureById(banner.BannerPictureId)); } _repository.Delete(banner); _eventPublisher.EntityDeleted(banner); }
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); }