diff --git a/framework/src/Volo.Abp.Settings/Volo.Abp.Settings.csproj b/framework/src/Volo.Abp.Settings/Volo.Abp.Settings.csproj index 524f932e9c..efec1d42c5 100644 --- a/framework/src/Volo.Abp.Settings/Volo.Abp.Settings.csproj +++ b/framework/src/Volo.Abp.Settings/Volo.Abp.Settings.csproj @@ -5,6 +5,8 @@ netstandard2.0;netstandard2.1;net7.0 + enable + Nullable Volo.Abp.Settings Volo.Abp.Settings $(AssetTargetFallback);portable-net45+win8+wp8+wpa81; diff --git a/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/ConfigurationSettingValueProvider.cs b/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/ConfigurationSettingValueProvider.cs index 853b510d04..51e0a882b0 100644 --- a/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/ConfigurationSettingValueProvider.cs +++ b/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/ConfigurationSettingValueProvider.cs @@ -21,7 +21,7 @@ public class ConfigurationSettingValueProvider : ISettingValueProvider, ITransie Configuration = configuration; } - public virtual Task GetOrNullAsync(SettingDefinition setting) + public virtual Task GetOrNullAsync(SettingDefinition setting) { return Task.FromResult(Configuration[ConfigurationNamePrefix + setting.Name]); } diff --git a/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/DefaultValueSettingValueProvider.cs b/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/DefaultValueSettingValueProvider.cs index e5e7275281..299f9e63bc 100644 --- a/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/DefaultValueSettingValueProvider.cs +++ b/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/DefaultValueSettingValueProvider.cs @@ -16,7 +16,7 @@ public class DefaultValueSettingValueProvider : SettingValueProvider } - public override Task GetOrNullAsync(SettingDefinition setting) + public override Task GetOrNullAsync(SettingDefinition setting) { return Task.FromResult(setting.DefaultValue); } diff --git a/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/GlobalSettingValueProvider.cs b/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/GlobalSettingValueProvider.cs index 34439c6aef..6c0e8883d7 100644 --- a/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/GlobalSettingValueProvider.cs +++ b/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/GlobalSettingValueProvider.cs @@ -15,7 +15,7 @@ public class GlobalSettingValueProvider : SettingValueProvider { } - public override Task GetOrNullAsync(SettingDefinition setting) + public override Task GetOrNullAsync(SettingDefinition setting) { return SettingStore.GetOrNullAsync(setting.Name, Name, null); } diff --git a/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingDefinitionContext.cs b/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingDefinitionContext.cs index 8257c73adb..deecea1107 100644 --- a/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingDefinitionContext.cs +++ b/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingDefinitionContext.cs @@ -4,7 +4,7 @@ namespace Volo.Abp.Settings; public interface ISettingDefinitionContext { - SettingDefinition GetOrNull(string name); + SettingDefinition? GetOrNull(string name); IReadOnlyList GetAll(); diff --git a/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingDefinitionManager.cs b/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingDefinitionManager.cs index 865fe5557a..7939d113c4 100644 --- a/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingDefinitionManager.cs +++ b/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingDefinitionManager.cs @@ -10,5 +10,5 @@ public interface ISettingDefinitionManager IReadOnlyList GetAll(); - SettingDefinition GetOrNull(string name); + SettingDefinition? GetOrNull(string name); } diff --git a/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingEncryptionService.cs b/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingEncryptionService.cs index f91e8f808a..5c1328e8c3 100644 --- a/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingEncryptionService.cs +++ b/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingEncryptionService.cs @@ -4,9 +4,7 @@ namespace Volo.Abp.Settings; public interface ISettingEncryptionService { - [CanBeNull] - string Encrypt([NotNull] SettingDefinition settingDefinition, [CanBeNull] string plainValue); + string? Encrypt([NotNull] SettingDefinition settingDefinition, string? plainValue); - [CanBeNull] - string Decrypt([NotNull] SettingDefinition settingDefinition, [CanBeNull] string encryptedValue); + string? Decrypt([NotNull] SettingDefinition settingDefinition, string? encryptedValue); } diff --git a/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingProvider.cs b/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingProvider.cs index d58a21b874..a24060b5ff 100644 --- a/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingProvider.cs +++ b/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingProvider.cs @@ -6,7 +6,7 @@ namespace Volo.Abp.Settings; public interface ISettingProvider { - Task GetOrNullAsync([NotNull] string name); + Task GetOrNullAsync([NotNull] string name); Task> GetAllAsync([NotNull] string[] names); diff --git a/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingStore.cs b/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingStore.cs index a8be20c7d8..89f933f877 100644 --- a/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingStore.cs +++ b/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingStore.cs @@ -6,15 +6,15 @@ namespace Volo.Abp.Settings; public interface ISettingStore { - Task GetOrNullAsync( + Task GetOrNullAsync( [NotNull] string name, - [CanBeNull] string providerName, - [CanBeNull] string providerKey + string? providerName, + string? providerKey ); Task> GetAllAsync( [NotNull] string[] names, - [CanBeNull] string providerName, - [CanBeNull] string providerKey + string? providerName, + string? providerKey ); } diff --git a/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingValueProvider.cs b/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingValueProvider.cs index 6878fda17b..1619052cbd 100644 --- a/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingValueProvider.cs +++ b/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingValueProvider.cs @@ -8,7 +8,7 @@ public interface ISettingValueProvider { string Name { get; } - Task GetOrNullAsync([NotNull] SettingDefinition setting); + Task GetOrNullAsync([NotNull] SettingDefinition setting); Task> GetAllAsync([NotNull] SettingDefinition[] settings); } diff --git a/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/NullSettingStore.cs b/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/NullSettingStore.cs index 8db9286a14..f6d04e0b4a 100644 --- a/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/NullSettingStore.cs +++ b/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/NullSettingStore.cs @@ -17,12 +17,12 @@ public class NullSettingStore : ISettingStore, ISingletonDependency Logger = NullLogger.Instance; } - public Task GetOrNullAsync(string name, string providerName, string providerKey) + public Task GetOrNullAsync(string name, string? providerName, string? providerKey) { - return Task.FromResult((string)null); + return Task.FromResult((string?)null); } - public Task> GetAllAsync(string[] names, string providerName, string providerKey) + public Task> GetAllAsync(string[] names, string? providerName, string? providerKey) { return Task.FromResult(names.Select(x => new SettingValue(x, null)).ToList()); } diff --git a/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingDefinition.cs b/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingDefinition.cs index 536a407271..72ccfcd3f3 100644 --- a/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingDefinition.cs +++ b/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingDefinition.cs @@ -17,16 +17,14 @@ public class SettingDefinition get => _displayName; set => _displayName = Check.NotNull(value, nameof(value)); } - private ILocalizableString _displayName; + private ILocalizableString _displayName = default!; - [CanBeNull] - public ILocalizableString Description { get; set; } + public ILocalizableString? Description { get; set; } /// /// Default value of the setting. /// - [CanBeNull] - public string DefaultValue { get; set; } + public string? DefaultValue { get; set; } /// /// Can clients see this setting and it's value. @@ -61,9 +59,9 @@ public class SettingDefinition public SettingDefinition( string name, - string defaultValue = null, - ILocalizableString displayName = null, - ILocalizableString description = null, + string? defaultValue = null, + ILocalizableString? displayName = null, + ILocalizableString? description = null, bool isVisibleToClients = false, bool isInherited = true, bool isEncrypted = false) diff --git a/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingDefinitionContext.cs b/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingDefinitionContext.cs index e06395f614..a1192c96c9 100644 --- a/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingDefinitionContext.cs +++ b/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingDefinitionContext.cs @@ -12,7 +12,7 @@ public class SettingDefinitionContext : ISettingDefinitionContext Settings = settings; } - public virtual SettingDefinition GetOrNull(string name) + public virtual SettingDefinition? GetOrNull(string name) { return Settings.GetOrDefault(name); } diff --git a/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingDefinitionManager.cs b/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingDefinitionManager.cs index ed285422b3..87f173d04e 100644 --- a/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingDefinitionManager.cs +++ b/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingDefinitionManager.cs @@ -45,7 +45,7 @@ public class SettingDefinitionManager : ISettingDefinitionManager, ISingletonDep return SettingDefinitions.Value.Values.ToImmutableList(); } - public virtual SettingDefinition GetOrNull(string name) + public virtual SettingDefinition? GetOrNull(string name) { return SettingDefinitions.Value.GetOrDefault(name); } @@ -63,7 +63,7 @@ public class SettingDefinitionManager : ISettingDefinitionManager, ISingletonDep foreach (var provider in providers) { - provider.Define(new SettingDefinitionContext(settings)); + provider!.Define(new SettingDefinitionContext(settings)); } } diff --git a/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingEncryptionService.cs b/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingEncryptionService.cs index 9f59f57910..45a3362d30 100644 --- a/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingEncryptionService.cs +++ b/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingEncryptionService.cs @@ -17,7 +17,7 @@ public class SettingEncryptionService : ISettingEncryptionService, ITransientDep Logger = NullLogger.Instance; } - public virtual string Encrypt(SettingDefinition settingDefinition, string plainValue) + public virtual string? Encrypt(SettingDefinition settingDefinition, string? plainValue) { if (plainValue.IsNullOrEmpty()) { @@ -27,7 +27,7 @@ public class SettingEncryptionService : ISettingEncryptionService, ITransientDep return StringEncryptionService.Encrypt(plainValue); } - public virtual string Decrypt(SettingDefinition settingDefinition, string encryptedValue) + public virtual string? Decrypt(SettingDefinition settingDefinition, string? encryptedValue) { if (encryptedValue.IsNullOrEmpty()) { diff --git a/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingProvider.cs b/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingProvider.cs index 01791bef00..31dfecc4c0 100644 --- a/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingProvider.cs +++ b/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingProvider.cs @@ -21,7 +21,7 @@ public class SettingProvider : ISettingProvider, ITransientDependency SettingValueProviderManager = settingValueProviderManager; } - public virtual async Task GetOrNullAsync(string name) + public virtual async Task GetOrNullAsync(string name) { var setting = SettingDefinitionManager.Get(name); var providers = Enumerable @@ -95,7 +95,7 @@ public class SettingProvider : ISettingProvider, ITransientDependency return settingValues; } - protected virtual async Task GetOrNullValueFromProvidersAsync( + protected virtual async Task GetOrNullValueFromProvidersAsync( IEnumerable providers, SettingDefinition setting) { diff --git a/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingValue.cs b/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingValue.cs index 63f6ab063f..56e972611b 100644 --- a/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingValue.cs +++ b/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingValue.cs @@ -3,14 +3,14 @@ namespace Volo.Abp.Settings; [Serializable] -public class SettingValue : NameValue +public class SettingValue : NameValue { public SettingValue() { } - public SettingValue(string name, string value) + public SettingValue(string name, string? value) { Name = name; Value = value; diff --git a/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingValueProvider.cs b/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingValueProvider.cs index c8b994986d..57d4b18a51 100644 --- a/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingValueProvider.cs +++ b/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingValueProvider.cs @@ -15,7 +15,7 @@ public abstract class SettingValueProvider : ISettingValueProvider, ITransientDe SettingStore = settingStore; } - public abstract Task GetOrNullAsync(SettingDefinition setting); + public abstract Task GetOrNullAsync(SettingDefinition setting); public abstract Task> GetAllAsync(SettingDefinition[] settings); } diff --git a/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingValueProviderManager.cs b/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingValueProviderManager.cs index f54b3cfda3..d0300357dc 100644 --- a/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingValueProviderManager.cs +++ b/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingValueProviderManager.cs @@ -24,7 +24,7 @@ public class SettingValueProviderManager : ISettingValueProviderManager, ISingle () => Options .ValueProviders .Select(type => serviceProvider.GetRequiredService(type) as ISettingValueProvider) - .ToList(), + .ToList()!, true ); } diff --git a/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/UserSettingValueProvider.cs b/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/UserSettingValueProvider.cs index 791bef3709..7c1d65740a 100644 --- a/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/UserSettingValueProvider.cs +++ b/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/UserSettingValueProvider.cs @@ -19,7 +19,7 @@ public class UserSettingValueProvider : SettingValueProvider CurrentUser = currentUser; } - public override async Task GetOrNullAsync(SettingDefinition setting) + public override async Task GetOrNullAsync(SettingDefinition setting) { if (CurrentUser.Id == null) {