Browse Source

Enable nullable annotations for Volo.Abp.AspNetCore.Components.MauiBlazor

pull/17062/head
liangshiwei 3 years ago
parent
commit
faed48d48b
  1. 2
      framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor/Volo.Abp.AspNetCore.Components.MauiBlazor.csproj
  2. 2
      framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor/Volo/Abp/AspNetCore/Components/MauiBlazor/AbpAspNetCoreComponentsMauiBlazorModule.cs
  3. 2
      framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor/Volo/Abp/AspNetCore/Components/MauiBlazor/AbpMauiBlazorClientHttpMessageHandler.cs
  4. 6
      framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor/Volo/Abp/AspNetCore/Components/MauiBlazor/ApplicationConfigurationCache.cs
  5. 2
      framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor/Volo/Abp/AspNetCore/Components/MauiBlazor/IMauiBlazorSelectedLanguageProvider.cs
  6. 2
      framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor/Volo/Abp/AspNetCore/Components/MauiBlazor/MauiBlazorCurrentTenantAccessor.cs
  7. 18
      framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor/Volo/Abp/AspNetCore/Components/MauiBlazor/MauiBlazorRemoteTenantStore.cs
  8. 4
      framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor/Volo/Abp/AspNetCore/Components/MauiBlazor/MauiBlazorServerUrlProvider.cs
  9. 4
      framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor/Volo/Abp/AspNetCore/Components/MauiBlazor/NullMauiBlazorSelectedLanguageProvider.cs
  10. 14
      framework/src/Volo.Abp.AspNetCore.Components/Volo/Abp/AspNetCore/Components/Messages/UiMessageOptions.cs
  11. 4
      framework/src/Volo.Abp.AspNetCore.Components/Volo/Abp/AspNetCore/Components/Notifications/UiNotificationOptions.cs

2
framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor/Volo.Abp.AspNetCore.Components.MauiBlazor.csproj

@ -5,6 +5,8 @@
<PropertyGroup> <PropertyGroup>
<TargetFramework>net7.0</TargetFramework> <TargetFramework>net7.0</TargetFramework>
<Nullable>enable</Nullable>
<WarningsAsErrors>Nullable</WarningsAsErrors>
<AssemblyName>Volo.Abp.AspNetCore.Components.MauiBlazor</AssemblyName> <AssemblyName>Volo.Abp.AspNetCore.Components.MauiBlazor</AssemblyName>
<PackageId>Volo.Abp.AspNetCore.Components.MauiBlazor</PackageId> <PackageId>Volo.Abp.AspNetCore.Components.MauiBlazor</PackageId>
<AssetTargetFallback>$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;</AssetTargetFallback> <AssetTargetFallback>$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;</AssetTargetFallback>

2
framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor/Volo/Abp/AspNetCore/Components/MauiBlazor/AbpAspNetCoreComponentsMauiBlazorModule.cs

@ -51,7 +51,7 @@ public class AbpAspNetCoreComponentsMauiBlazorModule : AbpModule
var cultureName = configuration.Localization?.CurrentCulture?.CultureName; var cultureName = configuration.Localization?.CurrentCulture?.CultureName;
if (!cultureName.IsNullOrEmpty()) if (!cultureName.IsNullOrEmpty())
{ {
var culture = new CultureInfo(cultureName); var culture = new CultureInfo(cultureName!);
CultureInfo.DefaultThreadCurrentCulture = culture; CultureInfo.DefaultThreadCurrentCulture = culture;
CultureInfo.DefaultThreadCurrentUICulture = culture; CultureInfo.DefaultThreadCurrentUICulture = culture;
} }

2
framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor/Volo/Abp/AspNetCore/Components/MauiBlazor/AbpMauiBlazorClientHttpMessageHandler.cs

@ -48,7 +48,7 @@ public class AbpMauiBlazorClientHttpMessageHandler : DelegatingHandler, ITransie
if (!selectedLanguage.IsNullOrWhiteSpace()) if (!selectedLanguage.IsNullOrWhiteSpace())
{ {
request.Headers.AcceptLanguage.Clear(); request.Headers.AcceptLanguage.Clear();
request.Headers.AcceptLanguage.Add(new StringWithQualityHeaderValue(selectedLanguage)); request.Headers.AcceptLanguage.Add(new StringWithQualityHeaderValue(selectedLanguage!));
} }
} }
} }

6
framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor/Volo/Abp/AspNetCore/Components/MauiBlazor/ApplicationConfigurationCache.cs

@ -7,11 +7,11 @@ namespace Volo.Abp.AspNetCore.Components.MauiBlazor;
public class ApplicationConfigurationCache : ISingletonDependency public class ApplicationConfigurationCache : ISingletonDependency
{ {
protected ApplicationConfigurationDto Configuration { get; set; } protected ApplicationConfigurationDto? Configuration { get; set; }
public event Action ApplicationConfigurationChanged; public event Action ApplicationConfigurationChanged = default!;
public virtual ApplicationConfigurationDto Get() public virtual ApplicationConfigurationDto? Get()
{ {
return Configuration; return Configuration;
} }

2
framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor/Volo/Abp/AspNetCore/Components/MauiBlazor/IMauiBlazorSelectedLanguageProvider.cs

@ -4,5 +4,5 @@ namespace Volo.Abp.AspNetCore.Components.MauiBlazor;
public interface IMauiBlazorSelectedLanguageProvider public interface IMauiBlazorSelectedLanguageProvider
{ {
Task<string> GetSelectedLanguageAsync(); Task<string?> GetSelectedLanguageAsync();
} }

2
framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor/Volo/Abp/AspNetCore/Components/MauiBlazor/MauiBlazorCurrentTenantAccessor.cs

@ -6,5 +6,5 @@ namespace Volo.Abp.AspNetCore.Components.MauiBlazor;
[Dependency(ReplaceServices = true)] [Dependency(ReplaceServices = true)]
public class MauiBlazorCurrentTenantAccessor : ICurrentTenantAccessor, ISingletonDependency public class MauiBlazorCurrentTenantAccessor : ICurrentTenantAccessor, ISingletonDependency
{ {
public BasicTenantInfo Current { get; set; } public BasicTenantInfo? Current { get; set; }
} }

18
framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor/Volo/Abp/AspNetCore/Components/MauiBlazor/MauiBlazorRemoteTenantStore.cs

@ -23,13 +23,13 @@ public class MauiBlazorRemoteTenantStore : ITenantStore, ITransientDependency
Cache = cache; Cache = cache;
} }
public async Task<TenantConfiguration> FindAsync(string name) public async Task<TenantConfiguration?> FindAsync(string name)
{ {
var cacheKey = CreateCacheKey(name); var cacheKey = CreateCacheKey(name);
var tenantConfiguration = await Cache.GetOrAddAsync( var tenantConfiguration = await Cache.GetOrAddAsync(
cacheKey, cacheKey,
async () => CreateTenantConfiguration(await TenantAppService.FindTenantByNameAsync(name)), async () => CreateTenantConfiguration(await TenantAppService.FindTenantByNameAsync(name))!,
() => new DistributedCacheEntryOptions () => new DistributedCacheEntryOptions
{ {
AbsoluteExpirationRelativeToNow = AbsoluteExpirationRelativeToNow =
@ -40,13 +40,13 @@ public class MauiBlazorRemoteTenantStore : ITenantStore, ITransientDependency
return tenantConfiguration; return tenantConfiguration;
} }
public async Task<TenantConfiguration> FindAsync(Guid id) public async Task<TenantConfiguration?> FindAsync(Guid id)
{ {
var cacheKey = CreateCacheKey(id); var cacheKey = CreateCacheKey(id);
var tenantConfiguration = await Cache.GetOrAddAsync( var tenantConfiguration = await Cache.GetOrAddAsync(
cacheKey, cacheKey,
async () => CreateTenantConfiguration(await TenantAppService.FindTenantByIdAsync(id)), async () => CreateTenantConfiguration(await TenantAppService.FindTenantByIdAsync(id))!,
() => new DistributedCacheEntryOptions () => new DistributedCacheEntryOptions
{ {
AbsoluteExpirationRelativeToNow = AbsoluteExpirationRelativeToNow =
@ -57,13 +57,13 @@ public class MauiBlazorRemoteTenantStore : ITenantStore, ITransientDependency
return tenantConfiguration; return tenantConfiguration;
} }
public TenantConfiguration Find(string name) public TenantConfiguration? Find(string name)
{ {
var cacheKey = CreateCacheKey(name); var cacheKey = CreateCacheKey(name);
var tenantConfiguration = Cache.GetOrAdd( var tenantConfiguration = Cache.GetOrAdd(
cacheKey, cacheKey,
() => AsyncHelper.RunSync(async () => CreateTenantConfiguration(await TenantAppService.FindTenantByNameAsync(name))), () => AsyncHelper.RunSync(async () => CreateTenantConfiguration(await TenantAppService.FindTenantByNameAsync(name)))!,
() => new DistributedCacheEntryOptions () => new DistributedCacheEntryOptions
{ {
AbsoluteExpirationRelativeToNow = AbsoluteExpirationRelativeToNow =
@ -74,13 +74,13 @@ public class MauiBlazorRemoteTenantStore : ITenantStore, ITransientDependency
return tenantConfiguration; return tenantConfiguration;
} }
public TenantConfiguration Find(Guid id) public TenantConfiguration? Find(Guid id)
{ {
var cacheKey = CreateCacheKey(id); var cacheKey = CreateCacheKey(id);
var tenantConfiguration = Cache.GetOrAdd( var tenantConfiguration = Cache.GetOrAdd(
cacheKey, cacheKey,
() => AsyncHelper.RunSync(async () => CreateTenantConfiguration(await TenantAppService.FindTenantByIdAsync(id))), () => AsyncHelper.RunSync(async () => CreateTenantConfiguration(await TenantAppService.FindTenantByIdAsync(id)))!,
() => new DistributedCacheEntryOptions () => new DistributedCacheEntryOptions
{ {
AbsoluteExpirationRelativeToNow = AbsoluteExpirationRelativeToNow =
@ -91,7 +91,7 @@ public class MauiBlazorRemoteTenantStore : ITenantStore, ITransientDependency
return tenantConfiguration; return tenantConfiguration;
} }
protected virtual TenantConfiguration CreateTenantConfiguration(FindTenantResultDto tenantResultDto) protected virtual TenantConfiguration? CreateTenantConfiguration(FindTenantResultDto tenantResultDto)
{ {
if (!tenantResultDto.Success || tenantResultDto.TenantId == null) if (!tenantResultDto.Success || tenantResultDto.TenantId == null)
{ {

4
framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor/Volo/Abp/AspNetCore/Components/MauiBlazor/MauiBlazorServerUrlProvider.cs

@ -17,12 +17,12 @@ public class MauiBlazorServerUrlProvider : IServerUrlProvider, ITransientDepende
RemoteServiceConfigurationProvider = remoteServiceConfigurationProvider; RemoteServiceConfigurationProvider = remoteServiceConfigurationProvider;
} }
public async Task<string> GetBaseUrlAsync(string remoteServiceName = null) public async Task<string> GetBaseUrlAsync(string? remoteServiceName = null)
{ {
var remoteServiceConfiguration = await RemoteServiceConfigurationProvider.GetConfigurationOrDefaultAsync( var remoteServiceConfiguration = await RemoteServiceConfigurationProvider.GetConfigurationOrDefaultAsync(
remoteServiceName ?? RemoteServiceConfigurationDictionary.DefaultName remoteServiceName ?? RemoteServiceConfigurationDictionary.DefaultName
); );
return remoteServiceConfiguration.BaseUrl.EnsureEndsWith('/'); return remoteServiceConfiguration.BaseUrl!.EnsureEndsWith('/');
} }
} }

4
framework/src/Volo.Abp.AspNetCore.Components.MauiBlazor/Volo/Abp/AspNetCore/Components/MauiBlazor/NullMauiBlazorSelectedLanguageProvider.cs

@ -5,8 +5,8 @@ namespace Volo.Abp.AspNetCore.Components.MauiBlazor;
public class NullMauiBlazorSelectedLanguageProvider : IMauiBlazorSelectedLanguageProvider, ITransientDependency public class NullMauiBlazorSelectedLanguageProvider : IMauiBlazorSelectedLanguageProvider, ITransientDependency
{ {
public Task<string> GetSelectedLanguageAsync() public Task<string?> GetSelectedLanguageAsync()
{ {
return Task.FromResult((string)null); return Task.FromResult((string?)null);
} }
} }

14
framework/src/Volo.Abp.AspNetCore.Components/Volo/Abp/AspNetCore/Components/Messages/UiMessageOptions.cs

@ -18,35 +18,35 @@ public class UiMessageOptions
/// <summary> /// <summary>
/// Overrides the build-in message icon. /// Overrides the build-in message icon.
/// </summary> /// </summary>
public object MessageIcon { get; set; } public object? MessageIcon { get; set; }
/// <summary> /// <summary>
/// Custom text for the Ok button. /// Custom text for the Ok button.
/// </summary> /// </summary>
public string OkButtonText { get; set; } public string? OkButtonText { get; set; }
/// <summary> /// <summary>
/// Custom icon for the Ok button. /// Custom icon for the Ok button.
/// </summary> /// </summary>
public object OkButtonIcon { get; set; } public object? OkButtonIcon { get; set; }
/// <summary> /// <summary>
/// Custom text for the Confirmation button. /// Custom text for the Confirmation button.
/// </summary> /// </summary>
public string ConfirmButtonText { get; set; } public string? ConfirmButtonText { get; set; }
/// <summary> /// <summary>
/// Custom icon for the Confirmation button. /// Custom icon for the Confirmation button.
/// </summary> /// </summary>
public object ConfirmButtonIcon { get; set; } public object? ConfirmButtonIcon { get; set; }
/// <summary> /// <summary>
/// Custom text for the Cancel button. /// Custom text for the Cancel button.
/// </summary> /// </summary>
public string CancelButtonText { get; set; } public string? CancelButtonText { get; set; }
/// <summary> /// <summary>
/// Custom icon for the Cancel button. /// Custom icon for the Cancel button.
/// </summary> /// </summary>
public object CancelButtonIcon { get; set; } public object? CancelButtonIcon { get; set; }
} }

4
framework/src/Volo.Abp.AspNetCore.Components/Volo/Abp/AspNetCore/Components/Notifications/UiNotificationOptions.cs

@ -10,10 +10,10 @@ public class UiNotificationOptions
/// <summary> /// <summary>
/// Custom text for the Ok button. /// Custom text for the Ok button.
/// </summary> /// </summary>
public ILocalizableString OkButtonText { get; set; } public ILocalizableString? OkButtonText { get; set; }
/// <summary> /// <summary>
/// Custom icon for the Ok button. /// Custom icon for the Ok button.
/// </summary> /// </summary>
public object OkButtonIcon { get; set; } public object? OkButtonIcon { get; set; }
} }

Loading…
Cancel
Save