コード例 #1
0
 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);
         }
     }
 }
コード例 #2
0
        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));
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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));
        }
コード例 #6
0
        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));
        }
コード例 #7
0
        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));
        }
コード例 #8
0
        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));
        }