From b17eb8e9cdad60ff97ff9b93d8c54ccb75a134e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Wed, 10 Mar 2021 23:03:10 +0300 Subject: [PATCH] Made error handling work (initial) --- .../AbpExceptionHandlingLogger.cs | 1 + .../UserExceptionInformer.cs | 2 +- .../AspNetCore/Components/AbpComponentBase.cs | 2 +- .../Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs | 13 ++++++++++--- .../Pages/Identity/RoleManagement.razor.cs | 19 ------------------- 5 files changed, 13 insertions(+), 24 deletions(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Components.Web/Volo/Abp/AspNetCore/Components/Web/ExceptionHandling/AbpExceptionHandlingLogger.cs b/framework/src/Volo.Abp.AspNetCore.Components.Web/Volo/Abp/AspNetCore/Components/Web/ExceptionHandling/AbpExceptionHandlingLogger.cs index 6784d49559..755947a481 100644 --- a/framework/src/Volo.Abp.AspNetCore.Components.Web/Volo/Abp/AspNetCore/Components/Web/ExceptionHandling/AbpExceptionHandlingLogger.cs +++ b/framework/src/Volo.Abp.AspNetCore.Components.Web/Volo/Abp/AspNetCore/Components/Web/ExceptionHandling/AbpExceptionHandlingLogger.cs @@ -1,6 +1,7 @@ using System; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; +using Volo.Abp.AspNetCore.Components.ExceptionHandling; namespace Volo.Abp.AspNetCore.Components.Web.ExceptionHandling { diff --git a/framework/src/Volo.Abp.AspNetCore.Components.Web/Volo/Abp/AspNetCore/Components/Web/ExceptionHandling/UserExceptionInformer.cs b/framework/src/Volo.Abp.AspNetCore.Components.Web/Volo/Abp/AspNetCore/Components/Web/ExceptionHandling/UserExceptionInformer.cs index a9cf6a3c5d..84d762085f 100644 --- a/framework/src/Volo.Abp.AspNetCore.Components.Web/Volo/Abp/AspNetCore/Components/Web/ExceptionHandling/UserExceptionInformer.cs +++ b/framework/src/Volo.Abp.AspNetCore.Components.Web/Volo/Abp/AspNetCore/Components/Web/ExceptionHandling/UserExceptionInformer.cs @@ -11,7 +11,7 @@ using Volo.Abp.Http; namespace Volo.Abp.AspNetCore.Components.Web.ExceptionHandling { [Dependency(ReplaceServices = true)] - public class UserExceptionInformer : IUserExceptionInformer, ITransientDependency + public class UserExceptionInformer : IUserExceptionInformer, IScopedDependency { public ILogger Logger { get; set; } protected IUiMessageService MessageService { get; } diff --git a/framework/src/Volo.Abp.AspNetCore.Components/Volo/Abp/AspNetCore/Components/AbpComponentBase.cs b/framework/src/Volo.Abp.AspNetCore.Components/Volo/Abp/AspNetCore/Components/AbpComponentBase.cs index bdbfebb018..8f5ce7f0c9 100644 --- a/framework/src/Volo.Abp.AspNetCore.Components/Volo/Abp/AspNetCore/Components/AbpComponentBase.cs +++ b/framework/src/Volo.Abp.AspNetCore.Components/Volo/Abp/AspNetCore/Components/AbpComponentBase.cs @@ -64,7 +64,7 @@ namespace Volo.Abp.AspNetCore.Components protected IUiNotificationService Notify => LazyGetNonScopedRequiredService(ref _notify); private IUiNotificationService _notify; - protected IUserExceptionInformer UserExceptionInformer => LazyGetRequiredService(ref _userExceptionInformer); + protected IUserExceptionInformer UserExceptionInformer => LazyGetNonScopedRequiredService(ref _userExceptionInformer); private IUserExceptionInformer _userExceptionInformer; protected IAlertManager AlertManager => LazyGetNonScopedRequiredService(ref _alertManager); diff --git a/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs b/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs index 4d94fdd85f..99844ed240 100644 --- a/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs +++ b/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs @@ -412,10 +412,17 @@ namespace Volo.Abp.BlazoriseUI protected virtual async Task DeleteEntityAsync(TListViewModel entity) { - await CheckDeletePolicyAsync(); + try + { + await CheckDeletePolicyAsync(); - await AppService.DeleteAsync(entity.Id); - await GetEntitiesAsync(); + await AppService.DeleteAsync(entity.Id); + await GetEntitiesAsync(); + } + catch (Exception ex) + { + await ShowError(ex); + } } protected virtual string GetDeleteConfirmationMessage(TListViewModel entity) diff --git a/modules/identity/src/Volo.Abp.Identity.Blazor/Pages/Identity/RoleManagement.razor.cs b/modules/identity/src/Volo.Abp.Identity.Blazor/Pages/Identity/RoleManagement.razor.cs index a42a68c740..9a8304502c 100644 --- a/modules/identity/src/Volo.Abp.Identity.Blazor/Pages/Identity/RoleManagement.razor.cs +++ b/modules/identity/src/Volo.Abp.Identity.Blazor/Pages/Identity/RoleManagement.razor.cs @@ -1,6 +1,4 @@ -using System; using System.Threading.Tasks; -using Blazorise; using Microsoft.AspNetCore.Authorization; using Volo.Abp.Identity.Localization; using Volo.Abp.PermissionManagement.Blazor.Components; @@ -35,23 +33,6 @@ namespace Volo.Abp.Identity.Blazor.Pages.Identity HasManagePermissionsPermission = await AuthorizationService.IsGrantedAsync(IdentityPermissions.Roles.ManagePermissions); } - protected override async Task DeleteEntityAsync(IdentityRoleDto entity) - { - //TODO: I will move try/catch to base class, doing here for test purpose - try - { - await CheckDeletePolicyAsync(); - - await AppService.DeleteAsync(entity.Id); - await GetEntitiesAsync(); - } - catch (Exception ex) - { - await ShowError(ex); - //await Message.Error("Error: " + ex.Message); //This works if I uncomment - } - } - protected override string GetDeleteConfirmationMessage(IdentityRoleDto entity) { return string.Format(L["RoleDeletionConfirmationMessage"], entity.Name);