/// <summary> /// Update ConfigSetting /// </summary> public BaseResponse UpdateConfigValue(ConfigValue configSetting) { if (configSetting.Id == default(int)) { return(ErrorCode.ConfigurationSettingNotFound); } ConfigValue oldSetting = Uow.ConfigValues.GetById(configSetting.Id); if (oldSetting == null) { return(ErrorCode.ConfigurationSettingNotFound); } if (configSetting.SettingTypeString != oldSetting.ValueString) { return(ErrorCode.ConfigurationForbiddenToModify); } object result; if (!configSetting.TryGetValue(out result)) { return(ErrorCode.ConfigurationSettingDeserializationError); } oldSetting.Description = configSetting.Description; oldSetting.ModifiedBy = configSetting.ModifiedBy; oldSetting.ValueString = configSetting.ValueString; Uow.ConfigValues.Update(oldSetting); Uow.Commit(); return(BaseResponse.Success()); }
/// <summary> /// Update ConfigSection without deletes /// </summary> public BaseResponse UpdateConfigDirectory(ConfigDirectory configSection) { EntityResponse <IQueryable <ConfigDirectory> > response = GetConfigDirectoryById(configSection.Id); if (!response.IsSuccess) { return(response.ErrorCode); } if (response.Entity.Count() > 1) { // Clients are not available to modify root configSection return(ErrorCode.ConfigurationForbiddenToModify); } ConfigDirectory oldConfigSection = response.Entity.Single(); oldConfigSection.Description = configSection.Description; oldConfigSection.ModifiedBy = configSection.ModifiedBy; foreach (ConfigValue oldSetting in oldConfigSection.ChildValues) { ConfigValue newSetting = configSection.ChildValues.SingleOrDefault(s => oldSetting.Id.Equals(s.Id)); if (newSetting == null) { // Clients are not available to remove settings return(ErrorCode.ConfigurationForbiddenToModify); } object result; if (!newSetting.TryGetValue(out result)) { return(ErrorCode.ConfigurationSettingDeserializationError); } oldSetting.ValueString = newSetting.ValueString; oldSetting.Description = newSetting.Description; oldSetting.ModifiedBy = newSetting.ModifiedBy; } Uow.ConfigDirectories.Update(oldConfigSection); Uow.Commit(); return(BaseResponse.Success()); }