Example #1
0
        public void Update(MiniSiteTextPage page)
        {
            _repository.Update(page);
            _eventPublisher.EntityUpdated(page);

            _cacheManager.RemoveByPattern(MINISITETEXT_PATTERN_KEY);
        }
Example #2
0
        public ActionResult TextPageSetup(MiniSiteTextPagesModel model)
        {
            if (!_workContext.CurrentCustomer.IsRegistered())
            {
                return(RedirectToRoute("HomePage"));
            }
            if (_workContext.CurrentCustomer.UserMiniSite == null)
            {
                return(RedirectToRoute("HomePage"));
            }

            if (ModelState.IsValid)
            {
                if (model.Id != 0)
                {
                    var oldTextPage = _miniSiteTextPageService.GetById(model.Id);
                    _localizedEntityService.SaveLocalizedValue(oldTextPage, x => x.Html, model.PageHtml, model.SelectedLanguageId);
                    _localizedEntityService.SaveLocalizedValue(oldTextPage, x => x.MenuTitle, model.PageMenuTitle, model.SelectedLanguageId);
                    _localizedEntityService.SaveLocalizedValue(oldTextPage, x => x.PageTitle, model.PageTitleTag, model.SelectedLanguageId);
                    _localizedEntityService.SaveLocalizedValue(oldTextPage, x => x.Title, model.PageTitle, model.SelectedLanguageId);
                    var seName = oldTextPage.ValidateSeName(oldTextPage.GetLocalized(x => x.Title, model.SelectedLanguageId), null, true);
                    _urlRecordService.SaveSlug(oldTextPage, seName, model.SelectedLanguageId);
                }
                else
                {
                    var textpage = new MiniSiteTextPage();
                    textpage.UserMiniSiteId = _workContext.CurrentCustomer.UserMiniSite.Id;
                    _miniSiteTextPageService.Insert(textpage);

                    _localizedEntityService.SaveLocalizedValue(textpage, x => x.Html, model.PageHtml, model.SelectedLanguageId);
                    _localizedEntityService.SaveLocalizedValue(textpage, x => x.MenuTitle, model.PageMenuTitle, model.SelectedLanguageId);
                    _localizedEntityService.SaveLocalizedValue(textpage, x => x.PageTitle, model.PageTitleTag, model.SelectedLanguageId);
                    _localizedEntityService.SaveLocalizedValue(textpage, x => x.Title, model.PageTitle, model.SelectedLanguageId);
                    var seName = textpage.ValidateSeName(textpage.GetLocalized(x => x.Title, model.SelectedLanguageId), null, true);
                    _urlRecordService.SaveSlug(textpage, seName, model.SelectedLanguageId);
                }
            }

            var lang = _languageService.GetLanguageById(model.SelectedLanguageId);

            model.CurrentLanguage = 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(RedirectToAction("TextPageSetup", new { languageId = model.SelectedLanguageId }));
        }