Exemple #1
0
        private void SetLanguage(int languageId, MiniSiteTextPagesModel txtpageModel)
        {
            txtpageModel.AviableLanguages = new List <LanguageModel>();
            var language = _languageService.GetAllLanguages().Where(x => x.UniqueSeoCode == "ru").FirstOrDefault();
            var lang     = _languageService.GetLanguageById(languageId);

            txtpageModel.CurrentLanguage = new LanguageModel()
            {
                Name            = lang.Name,
                LanguageCulture = lang.LanguageCulture,
                Id = lang.Id
            };
            txtpageModel.AviableLanguages.Add(new LanguageModel()
            {
                Name            = language.Name,
                LanguageCulture = language.LanguageCulture,
                Id = language.Id
            });

            language = _languageService.GetAllLanguages().Where(x => x.UniqueSeoCode == "en").FirstOrDefault();
            txtpageModel.AviableLanguages.Add(new LanguageModel()
            {
                Name            = language.Name,
                LanguageCulture = language.LanguageCulture,
                Id = language.Id
            });

            txtpageModel.SelectedLanguageId = languageId;
        }
Exemple #2
0
        public ActionResult TextPageSetup(int?languageId)
        {
            if (!_workContext.CurrentCustomer.IsRegistered())
            {
                return(RedirectToRoute("HomePage"));
            }
            if (_workContext.CurrentCustomer.UserMiniSite == null)
            {
                return(RedirectToRoute("HomePage"));
            }

            if (!languageId.HasValue)
            {
                languageId = _languageService.GetAllLanguages().Where(x => x.UniqueSeoCode == "ru").FirstOrDefault().Id;
            }

            var lang  = _languageService.GetLanguageById(languageId.Value);
            var pages = _workContext.CurrentCustomer.UserMiniSite.Textpages.ToList();
            var model = new List <MiniSiteTextPagesModel>();

            if (pages.Count > 1)
            {
                foreach (var page in pages)
                {
                    var txtpageModel = new MiniSiteTextPagesModel();
                    txtpageModel.PageHtml         = page.GetLocalized(x => x.Html, languageId.Value, false);
                    txtpageModel.PageMenuTitle    = page.GetLocalized(x => x.MenuTitle, languageId.Value, false);
                    txtpageModel.PageTitle        = page.GetLocalized(x => x.Title, languageId.Value, false);
                    txtpageModel.PageTitleTag     = page.GetLocalized(x => x.PageTitle, languageId.Value, false);
                    txtpageModel.Id               = page.Id;
                    txtpageModel.AviableLanguages = new List <LanguageModel>();
                    SetLanguage(languageId.Value, txtpageModel);
                    model.Add(txtpageModel);
                }
            }
            else
            {
                if (pages.Count == 1)
                {
                    var txtpageModel = new MiniSiteTextPagesModel();
                    txtpageModel.PageHtml      = pages[0].GetLocalized(x => x.Html, languageId.Value, false);
                    txtpageModel.PageMenuTitle = pages[0].GetLocalized(x => x.MenuTitle, languageId.Value, false);
                    txtpageModel.PageTitle     = pages[0].GetLocalized(x => x.Title, languageId.Value, false);
                    txtpageModel.PageTitleTag  = pages[0].GetLocalized(x => x.PageTitle, languageId.Value, false);
                    txtpageModel.Id            = pages[0].Id;
                    SetLanguage(languageId.Value, txtpageModel);

                    model.Add(txtpageModel);
                    txtpageModel           = new MiniSiteTextPagesModel();
                    txtpageModel.PageTitle = "Page 2";
                    SetLanguage(languageId.Value, txtpageModel);
                    model.Add(txtpageModel);
                }
                else
                {
                    var txtpageModel = new MiniSiteTextPagesModel();
                    txtpageModel.PageTitle = "Page 1";
                    SetLanguage(languageId.Value, txtpageModel);
                    model.Add(txtpageModel);

                    txtpageModel           = new MiniSiteTextPagesModel();
                    txtpageModel.PageTitle = "Page 2";
                    SetLanguage(languageId.Value, txtpageModel);
                    model.Add(txtpageModel);
                }
            }
            return(View(model));
        }
Exemple #3
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 }));
        }