public ActionResult AllSettings(DataSourceRequest command, Nut.Web.Framework.Kendoui.Filter filter = null, IEnumerable<Sort> sort = null) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageSettings)) return AccessDeniedView(); var settings = _settingService .GetAllSettings() .Select(x => { string storeName; if (x.StoreId == 0) { storeName = _localizationService.GetResource("Admin.Configuration.Settings.AllSettings.Fields.StoreName.AllStores"); } else { var store = _storeService.GetStoreById(x.StoreId); storeName = store != null ? store.Name : "Unknown"; } var settingModel = new SettingModel { Id = x.Id, Name = x.Name, Value = x.Value, Store = storeName, StoreId = x.StoreId }; return settingModel; }) .AsQueryable() .Filter(filter) .Sort(sort); var gridModel = new DataSourceResult { Data = settings.PagedForCommand(command).ToList(), Total = settings.Count() }; return Json(gridModel); }
public ActionResult SettingUpdate(SettingModel model) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageSettings)) return AccessDeniedView(); if (model.Name != null) model.Name = model.Name.Trim(); if (model.Value != null) model.Value = model.Value.Trim(); if (!ModelState.IsValid) { return Json(new DataSourceResult { Errors = ModelState.SerializeErrors() }); } var setting = _settingService.GetSettingById(model.Id); if (setting == null) return Content("No setting could be loaded with the specified ID"); var storeId = model.StoreId; if (!setting.Name.Equals(model.Name, StringComparison.InvariantCultureIgnoreCase) || setting.StoreId != storeId) { //setting name or store has been changed _settingService.DeleteSetting(setting); } _settingService.SetSetting(model.Name, model.Value, storeId); //activity log _activityLogService.InsertActivity("EditSettings", _localizationService.GetResource("ActivityLog.EditSettings")); return new NullJsonResult(); }