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; }
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)); }
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 })); }