public SiteSettingsViewModel GetSiteSettings() { var sql = "SELECT * FROM SiteSettings"; var keyPairs = _dbConnection.Query <KeyValueViewModel>(sql); var result = new SiteSettingsViewModel(); if (keyPairs.Any(p => p.Key == SiteSettingKeyConst.SiteCSS)) { result.SiteCSS = keyPairs.First(p => p.Key == SiteSettingKeyConst.SiteCSS).Value; } if (keyPairs.Any(p => p.Key == SiteSettingKeyConst.SiteTemplateId)) { var val = keyPairs.First(p => p.Key == SiteSettingKeyConst.SiteTemplateId).Value; Guid guidVal; if (!string.IsNullOrWhiteSpace(val) && Guid.TryParse(val, out guidVal)) { result.SiteTemplateId = guidVal; } } return(result); }
public async Task <ActionResult> IndexPost(SiteSettingsViewModel model) { var record = model.Set(await _siteSettingsService.Get()); _siteSettingsService.Update(record); return(this.Success()); }
public override async Task <IDisplayResult> UpdateAsync(ISite site, UpdateEditorContext context) { if (context.GroupId == GroupId) { var model = new SiteSettingsViewModel(); if (await context.Updater.TryUpdateModelAsync(model, Prefix)) { site.SiteName = model.SiteName; site.PageTitleFormat = model.PageTitleFormat; site.BaseUrl = model.BaseUrl; site.TimeZoneId = model.TimeZone; site.PageSize = model.PageSize; site.UseCdn = model.UseCdn; site.CdnBaseUrl = model.CdnBaseUrl; site.ResourceDebugMode = model.ResourceDebugMode; site.AppendVersion = model.AppendVersion; } if (!String.IsNullOrEmpty(site.BaseUrl) && !Uri.TryCreate(site.BaseUrl, UriKind.Absolute, out var baseUrl)) { context.Updater.ModelState.AddModelError(Prefix, nameof(site.BaseUrl), S["The Base url must be a fully qualified URL."]); } if (context.Updater.ModelState.IsValid) { await _shellHost.ReloadShellContextAsync(_shellSettings); } } return(Edit(site)); }
public async Task <IViewComponentResult> InvokeAsync(string siteId) { SiteSettingsViewModel model = new SiteSettingsViewModel(); IEnumerable <SelectListItem> pages = new List <SelectListItem>(); if (!string.IsNullOrEmpty(siteId)) { var settingsResult = await _siteManager.GetSiteSettingsAsync(siteId); var pagesResult = await _pageManager.GetPagesAsync(siteId); if (settingsResult != null && pagesResult != null) { var dictionary = settingsResult.ToDictionary(x => x.FieldName, x => x.Value); model = dictionary.ConvertTo <SiteSettingsViewModel>(); pages = pagesResult.Select(x => new SelectListItem { Value = x.Id, Text = x.Title }); pages = DefaultPage.Concat(pages); } ; } if (model == null) { model = new SiteSettingsViewModel(); } ViewData["SiteId"] = siteId; ViewData["Pages"] = pages; return(View(model)); }
public void Update(SiteSettingsViewModel viewModel) { var settings = _repository.Get(x => x.Id == viewModel.Id); settings.Status = viewModel.Status; settings.DateOfUpdate = DateTime.Now; settings.IsItDeleted = viewModel.IsItDeleted; settings.AboutUs = viewModel.AboutUs; settings.OurGoals = viewModel.OurGoals; settings.Principle = viewModel.Principle; settings.Logo = viewModel.Logo; settings.Map = viewModel.Map; settings.Phone = viewModel.Phone; settings.Adress = viewModel.Adress; settings.Email = viewModel.Email; settings.Fax = viewModel.Fax; settings.Facebook = viewModel.Facebook; settings.Twitter = viewModel.Twitter; settings.Instagram = viewModel.Instagram; settings.Youtube = viewModel.Youtube; settings.Slider1 = viewModel.Slider1; settings.Slider2 = viewModel.Slider2; settings.Slider3 = viewModel.Slider3; settings.Slider4 = viewModel.Slider4; _repository.Update(settings); }
public void Add(SiteSettingsViewModel viewModel) { _repository.Add(new SiteSettings { CreationDate = DateTime.Now, IsItDeleted = false, Status = true, SiteLanguage = viewModel.SiteLanguage, AboutUs = viewModel.AboutUs, OurGoals = viewModel.OurGoals, Principle = viewModel.Principle, Logo = "/Areas/Login/Assets/images/" + viewModel.Logo, Map = viewModel.Map, Phone = viewModel.Phone, Adress = viewModel.Adress, Email = viewModel.Email, Fax = viewModel.Fax, Facebook = viewModel.Facebook, Twitter = viewModel.Twitter, Instagram = viewModel.Twitter, Youtube = viewModel.Youtube, Slider1 = "/Areas/Login/Assets/images/" + viewModel.Slider1, Slider2 = "/Areas/Login/Assets/images/" + viewModel.Slider2, Slider3 = "/Areas/Login/Assets/images/" + viewModel.Slider3, Slider4 = "/Areas/Login/Assets/images/" + viewModel.Slider4, }); }
public RepositoryResponse <SiteSettingsViewModel> InitSettings() { SiteSettingsViewModel settings = new SiteSettingsViewModel() { Lang = _lang, ThemeId = 1, Cultures = new List <Swastika.Domain.Core.Models.SupportedCulture>() { new Swastika.Domain.Core.Models.SupportedCulture() { Specificulture = "en-us", FullName = "United States", Description = "United States", Icon = "flag-icon-us", Alias = "US" }, new Swastika.Domain.Core.Models.SupportedCulture() { Specificulture = "vi-vn", FullName = "Vietnam", Description = "Việt Nam", Icon = "flag-icon-vn", Alias = "VN" } }, PageTypes = Enum.GetNames(typeof(SWCmsConstants.CateType)).ToList() }; return(new RepositoryResponse <SiteSettingsViewModel>() { IsSucceed = true, Data = settings }); }
public async Task <IActionResult> Settings(int id) { var site = await _siteLookupService.GetByIdAsync(id); PageTitle = $"Site management - {site.Name}"; var settingGroups = SiteSettingDefinitions.DefinitionDictionary .GroupBy(_ => _.Value.Category) .Select(_ => new SiteSettingGroup() { Name = _.Key, SettingInformations = _.Select(i => new SiteSettingInformation() { SiteSetting = site.Settings.SingleOrDefault(s => s.Key == i.Key) ?? new SiteSetting(), Definition = i.Value, Key = i.Key }).ToList() }) .ToList(); var viewModel = new SiteSettingsViewModel() { Id = site.Id, SiteSettingGroups = settingGroups }; return(View(viewModel)); }
public ActionResult Site(SiteSettingsViewModel settings) { _settingService.SaveSetting <SiteSettings>(settings.SiteSettings); _settingService.SaveSetting <TenantSettings>(settings.TenantSettings); return(View(settings)); }
public SiteSettingsViewModel GetSiteSettings() { var sql = "SELECT * FROM SiteSettings"; var rows = _dbHelper.ExecuteDataTable(sql).Rows.Cast <DataRow>().ToList(); var result = new SiteSettingsViewModel(); if (rows.Any(p => p["Key"].ToString() == SiteSettingKeyConst.SiteCSS)) { result.SiteCSS = rows.FirstOrDefault(p => p["Key"].ToString() == SiteSettingKeyConst.SiteCSS)?.Field <string>("Value"); } if (rows.Any(p => p["Key"].ToString() == SiteSettingKeyConst.SiteTemplateId)) { var val = rows.FirstOrDefault(p => p["Key"].ToString() == SiteSettingKeyConst.SiteTemplateId)?.Field <string>("Value"); Guid guidVal; if (!string.IsNullOrWhiteSpace(val) && Guid.TryParse(val, out guidVal)) { result.SiteTemplateId = guidVal; } } return(result); }
public JsonResult GetSettings() { var viewModel = new SiteSettingsViewModel(); viewModel.GetSettings(); return(Json(JsonConvert.SerializeObject(viewModel), JsonRequestBehavior.AllowGet)); }
// GET: Admin/CallToAction public ActionResult Site() { var settings = new SiteSettingsViewModel(); settings.SiteSettings = _settingService.LoadSetting <SiteSettings>(); settings.TenantSettings = _settingService.LoadSetting <TenantSettings>(); return(View(settings)); }
public override async Task<IViewProviderResult> BuildUpdateAsync(SettingsIndex viewModel, IViewProviderContext context) { var model = new SiteSettingsViewModel(); // Validate model if (!await context.Updater.TryUpdateModelAsync(model)) { return await BuildEditAsync(viewModel, context); } // Update settings if (context.Updater.ModelState.IsValid) { var homeRoutes = _homeRouteManager.GetDefaultRoutes(); var settings = await _siteSettingsStore.GetAsync(); if (settings != null) { settings.SiteName = model.SiteName; settings.TimeZone = model.TimeZone; settings.DateTimeFormat = model.DateTimeFormat; settings.Culture = model.Culture; settings.Theme = model.Theme; settings.HomeRoute = homeRoutes?.FirstOrDefault(r => r.Id.Equals(model.HomeRoute, StringComparison.InvariantCultureIgnoreCase)); } else { // Create new settings settings = new SiteSettings() { SiteName = model.SiteName, TimeZone = model.TimeZone, DateTimeFormat = model.DateTimeFormat, Culture = model.Culture, Theme = model.Theme, HomeRoute = homeRoutes?.FirstOrDefault(r => r.Id.Equals(model.HomeRoute, StringComparison.InvariantCultureIgnoreCase)) }; } // Update settings var result = await _siteSettingsStore.SaveAsync(settings); if (result != null) { // Recycle shell context to ensure changes take effect _platoHost.RecycleShellContext(_shellSettings); } } return await BuildEditAsync(viewModel, context); }
public override async Task <IDisplayResult> UpdateAsync(ISite site, IUpdateModel updater, string groupId) { if (groupId == "general") { var model = new SiteSettingsViewModel(); if (await updater.TryUpdateModelAsync(model, Prefix, t => t.SiteName)) { site.SiteName = model.SiteName; } } return(Edit(site)); }
public async Task <IActionResult> Post([FromBody] SiteSettingsViewModel model) { try { await _siteSettingsService.Set(model.SiteSettings); await _siteSettingsService.SetSiteProfile(model.SiteProfile); return(Ok()); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public RepositoryResponse <SiteSettingsViewModel> Settings(int id) { SiteSettingsViewModel settings = new SiteSettingsViewModel() { Lang = _lang, ThemeId = GlobalConfigurationService.GetLocalInt(SWCmsConstants.ConfigurationKeyword.ThemeId, _lang), Cultures = GlobalLanguageService.ListSupportedCulture }; return(new RepositoryResponse <SiteSettingsViewModel>() { IsSucceed = true, Data = settings }); }
public override async Task <IDisplayResult> UpdateAsync(ISite site, UpdateEditorContext context) { if (context.GroupId == GroupId) { var model = new SiteSettingsViewModel(); if (await context.Updater.TryUpdateModelAsync(model, Prefix, t => t.SiteName, t => t.TimeZone)) { site.SiteName = model.SiteName; site.TimeZone = model.TimeZone; } } return(Edit(site)); }
public IActionResult Index() { var viewModel = new SiteSettingsViewModel() { StatusMessage = StatusMessage }; // Add Titles viewModel.Titles = _context.Titles.Where(c => c.Id > 0).OrderBy(x => x.Value).ToList(); // Add Profiles (= position) viewModel.Profiles = _context.Profiles.Where(cw => cw.Id > 0).OrderBy(x => x.Role).ToList(); // Add role types viewModel.RoleTypes = _context.RoleType.Where(cw => cw.Id > 0).OrderBy(x => x.Type).ToList(); return(View(viewModel)); }
public RepositoryResponse <SiteSettingsViewModel> Settings() { SiteSettingsViewModel settings = new SiteSettingsViewModel() { Lang = _lang, ThemeId = GlobalConfigurationService.Instance.GetLocalInt(SWCmsConstants.ConfigurationKeyword.ThemeId, _lang), Cultures = CommonRepository.Instance.LoadCultures(), PageTypes = Enum.GetNames(typeof(SWCmsConstants.CateType)).ToList() }; return(new RepositoryResponse <SiteSettingsViewModel>() { IsSucceed = true, Data = settings }); }
public async Task <ActionResult> SaveSiteSettings(string siteId, SiteSettingsViewModel model) { if (ModelState.IsValid) { var dictionary = model.ToDictionary(); dictionary["GoogleTrackingId"] = dictionary["GoogleTrackingId"] ?? string.Empty; var settings = dictionary.ConvertTo <SiteSetting>(x => new SiteSetting { FieldName = x.Key, Value = x.Value.ToString() }); await _siteManager.SaveSiteSettingsAsync(siteId, settings); return(Ok(model)); } return(ErrorView(ModelState)); }
public async Task <IActionResult> IndexPost(SiteSettingsViewModel viewModel) { // Ensure we have permission if (!await _authorizationService.AuthorizeAsync(User, Permissions.ManageGeneralSettings)) { return(Unauthorized()); } // Execute view providers ProvideUpdateAsync method await _viewProvider.ProvideUpdateAsync(new SettingsIndex(), this); // Add alert _alerter.Success(T["Settings Updated Successfully!"]); // Redirect return(RedirectToAction(nameof(Index))); }
public async Task <RepositoryResponse <JObject> > AllSettingsAsync() { var cultures = CommonRepository.Instance.LoadCultures(); var culture = cultures.FirstOrDefault(c => c.Specificulture == _lang); // Get Settings SiteSettingsViewModel settings = new SiteSettingsViewModel() { Lang = _lang, ThemeId = GlobalConfigurationService.Instance.GetLocalInt(SWCmsConstants.ConfigurationKeyword.ThemeId, _lang), Themes = InfoThemeViewModel.Repository.GetModelList().Data, Cultures = cultures, PageTypes = Enum.GetNames(typeof(SWCmsConstants.CateType)).ToList(), Statuses = Enum.GetNames(typeof(SWStatus)).ToList() }; settings.LangIcon = culture?.Icon ?? GlobalConfigurationService.Instance.CmsConfigurations.Language; // Get translator var translator = GlobalConfigurationService.Instance.CmsCulture.Translator[_lang]?.ToObject <JObject>(); // Get Configurations var configurations = await ApiConfigurationViewModel.Repository.GetModelListByAsync(a => a.Category == "Site" && a.Specificulture == _lang); JObject objConfigurations = new JObject(); foreach (var cnf in configurations.Data) { JProperty l = new JProperty(cnf.Keyword, cnf.Value); objConfigurations.Add(l); } JObject result = new JObject() { new JProperty("settings", JObject.FromObject(settings)), new JProperty("translator", translator), new JProperty("configurations", JObject.FromObject(configurations)) }; return(new RepositoryResponse <JObject>() { IsSucceed = true, Data = result }); }
public async Task <IActionResult> Edit(SiteSettingsViewModel model) { if (!ModelState.IsValid) { _notification.AddErrorToastMessage("لطفا مقادیر را به درستی وارد کنید"); return(RedirectToAction(nameof(Index))); } if (model.DollarPrice.Value != (await _db.DollarPriceRepository.GetLastPrice())?.Value) { await _db.DollarPriceRepository.InsertAsync(new DollarPrice { Value = model.DollarPrice.Value }); } await _db.SaveChangeAsync(); _notification.AddSuccessToastMessage("مقادیر ویرایش شد"); return(RedirectToAction(nameof(Index))); }
public RepositoryResponse <SiteSettingsViewModel> Settings() { var cultures = CommonRepository.Instance.LoadCultures(); var culture = cultures.FirstOrDefault(c => c.Specificulture == _lang); SiteSettingsViewModel settings = new SiteSettingsViewModel() { Lang = _lang, ThemeId = GlobalConfigurationService.Instance.GetLocalInt(SWCmsConstants.ConfigurationKeyword.ThemeId, _lang), Cultures = cultures, PageTypes = Enum.GetNames(typeof(SWCmsConstants.CateType)).ToList() }; settings.LangIcon = culture?.Icon ?? GlobalConfigurationService.Instance.CmsConfigurations.Language; return(new RepositoryResponse <SiteSettingsViewModel>() { IsSucceed = true, Data = settings }); }
public override async Task <IDisplayResult> UpdateAsync(ISite site, UpdateEditorContext context) { if (context.GroupId == GroupId) { var model = new SiteSettingsViewModel(); if (await context.Updater.TryUpdateModelAsync(model, Prefix)) { site.SiteName = model.SiteName; site.BaseUrl = model.BaseUrl; site.TimeZoneId = model.TimeZone; site.UseCdn = model.UseCdn; site.CdnBaseUrl = model.CdnBaseUrl; site.ResourceDebugMode = model.ResourceDebugMode; site.AppendVersion = model.AppendVersion; await _shellHost.ReloadShellContextAsync(_shellSettings); } } return(Edit(site)); }
public override async Task <IDisplayResult> UpdateAsync(ISite site, UpdateEditorContext context) { if (context.GroupId == GroupId) { var model = new SiteSettingsViewModel(); if (await context.Updater.TryUpdateModelAsync(model, Prefix)) { site.SiteName = model.SiteName; site.BaseUrl = model.BaseUrl; site.TimeZoneId = model.TimeZone; site.Culture = model.Culture; site.UseCdn = model.UseCdn; site.ResourceDebugMode = model.ResourceDebugMode; } // We always reset the tenant for the default culture and also supported cultures to take effect await _shellHost.ReloadShellContextAsync(_shellSettings); _notifier.Warning(H["The site has been restarted for the settings to take effect"]); } return(Edit(site)); }
public async Task <IActionResult> Settings(SiteSettingsViewModel model) { var site = await _siteLookupService.GetByIdAsync(model.Id); var siteSettings = model.SiteSettingGroups .SelectMany(_ => _.SettingInformations.Select(s => s.SiteSetting)) .Where(_ => !string.IsNullOrWhiteSpace(_.Value)) .GroupBy(_ => _.Key) .Select(_ => _.First()); var settingKeys = SiteSettingDefinitions.DefinitionDictionary.Keys.ToList(); var invalidKeys = siteSettings .Where(_ => !settingKeys.Contains(_.Key)) .Select(_ => _.Key); if (invalidKeys.Any()) { var keysString = string.Join(", ", invalidKeys); _logger.LogError($"Invalid site setting key(s): {keysString}"); ShowAlertDanger("Invalid site setting."); return(RedirectToAction(nameof(Settings), new { id = site.Id })); } foreach (var siteSetting in siteSettings) { siteSetting.SiteId = site.Id; if (!string.IsNullOrWhiteSpace(siteSetting.Value)) { var definition = SiteSettingDefinitions.DefinitionDictionary[siteSetting.Key]; if (definition.Format == SiteSettingFormat.Boolean) { siteSetting.Value = "True"; } else if (definition.Format == SiteSettingFormat.Integer && !int.TryParse(siteSetting.Value, out int value)) { ModelState.AddModelError("", $"Please enter a whole number for {definition.Name}."); } } } if (ModelState.IsValid) { await _siteService.UpdateSiteSettingsAsync(site.Id, siteSettings); ShowAlertSuccess($"Site '{site.Name}' settings successfully updated!"); return(RedirectToAction(nameof(Settings), new { id = site.Id })); } var settingGroups = SiteSettingDefinitions.DefinitionDictionary .GroupBy(_ => _.Value.Category) .Select(_ => new SiteSettingGroup() { Name = _.Key, SettingInformations = _.Select(i => new SiteSettingInformation() { SiteSetting = siteSettings.SingleOrDefault(s => s.Key == i.Key) ?? new SiteSetting(), Definition = i.Value, Key = i.Key }).ToList() }) .ToList(); var viewModel = new SiteSettingsViewModel() { Id = site.Id, SiteSettingGroups = settingGroups }; PageTitle = $"Site management - {site.Name}"; return(View(viewModel)); }
public ActionResult SiteSettings() { var model = new SiteSettingsViewModel(); return(View(model)); }
public SiteSettingsView(SiteSettingsViewModel viewModel) { this.DataContext = viewModel; InitializeComponent(); }
public IActionResult Index(SiteSettingsViewModel model) { bool isValueDuplicate = false; try { switch (model.UpdateType) { case "Profile": var newProfile = new Profile { Role = model.UpdateValue }; if (model.UpdateId == 0) { List <Profile> profileList = _context.Profiles.ToList(); foreach (var profile in profileList) { if (profile.Role == model.UpdateValue) { isValueDuplicate = true; break; } } if (!isValueDuplicate) { _context.Add(newProfile); } else { throw new ApplicationException(string.Format("{0} already exists", model.UpdateValue)); } } else { var profileInDb = _context.Profiles.SingleOrDefault(c => c.Id == model.UpdateId); if (profileInDb == null) { throw new ApplicationException($"Unable to locate Profile id '{model.UpdateId}'"); } profileInDb.Role = model.UpdateValue; _context.Update(profileInDb); } break; case "Title": var newTitle = new Title { Value = model.UpdateValue }; if (model.UpdateId == 0) { List <Title> titleList = _context.Titles.ToList(); foreach (var title in titleList) { if (title.Value == model.UpdateValue) { isValueDuplicate = true; break; } } if (!isValueDuplicate) { _context.Add(newTitle); } else { throw new ApplicationException(string.Format("{0} already exists", model.UpdateValue)); } } else { var titleInDb = _context.Titles.SingleOrDefault(c => c.Id == model.UpdateId); if (titleInDb == null) { throw new ApplicationException($"Unable to locate Title id '{model.UpdateId}'"); } titleInDb.Value = model.UpdateValue; _context.Update(titleInDb); } break; case "RoleType": var newRoleType = new RoleType { Type = model.UpdateValue }; if (model.UpdateId == 0) { List <RoleType> roleTypelist = _context.RoleType.ToList(); foreach (var role in roleTypelist) { if (role.Type == model.UpdateValue) { isValueDuplicate = true; break; } } if (!isValueDuplicate) { _context.Add(newRoleType); } else { throw new ApplicationException(string.Format("{0} already exists", model.UpdateValue)); } } else { var roleTypeInDb = _context.RoleType.SingleOrDefault(c => c.Id == model.UpdateId); if (roleTypeInDb == null) { throw new ApplicationException($"Unable to locate Role Type id '{model.UpdateId}'"); } roleTypeInDb.Type = model.UpdateValue; _context.Update(roleTypeInDb); } break; default: break; } _context.SaveChanges(); StatusMessage = string.Format("New {0} added - {1}", model.UpdateType, model.UpdateValue); } catch (Exception ex) { StatusMessage = string.Format("New {0} could not be added - error details '{1}'", model.UpdateType, ex.Message); } var viewModel = new SiteSettingsViewModel() { StatusMessage = StatusMessage }; // Add Titles viewModel.Titles = _context.Titles.Where(c => c.Id > 0).OrderBy(x => x.Value).ToList(); // Add Profiles (= position) viewModel.Profiles = _context.Profiles.Where(cw => cw.Id > 0).OrderBy(x => x.Role).ToList(); // Add role types viewModel.RoleTypes = _context.RoleType.Where(cw => cw.Id > 0).OrderBy(x => x.Type).ToList(); return(View(viewModel)); }