Beispiel #1
0
        public async Task <IdentityResult> DeleteAsync(IUser user, CancellationToken cancellationToken = default(CancellationToken))
        {
            if (user == null)
            {
                throw new ArgumentNullException(nameof(user));
            }

            try
            {
                var context = new UserDeleteContext(user);
                await Handlers.InvokeAsync((handler, context) => handler.DeletingAsync(context), context, _logger);

                if (context.Cancel)
                {
                    return(IdentityResult.Failed());
                }

                _session.Delete(user);
                await _session.SaveChangesAsync();

                await Handlers.InvokeAsync((handler, context) => handler.DeletedAsync(context), context, _logger);
            }
            catch (Exception e)
            {
                _logger.LogError(e, "Unexpected error while deleting a user.");

                return(IdentityResult.Failed());
            }

            return(IdentityResult.Success);
        }
Beispiel #2
0
 public Task DeletingAsync(UserDeleteContext context) => Task.CompletedTask;
 public Task DeletingAsync(UserDeleteContext context)
 {
     return(Task.CompletedTask);
 }
Beispiel #4
0
 public Task DeletedAsync(UserDeleteContext context)
 => RecordAuditTrailEventAsync(UserAuditTrailEventConfiguration.Deleted, context.User, _httpContextAccessor.HttpContext.User?.FindFirstValue(ClaimTypes.NameIdentifier), _httpContextAccessor.HttpContext.User?.Identity?.Name);
 public override Task DeletedAsync(UserDeleteContext context)
 {
     return(TriggerWorkflowEventAsync(nameof(UserDeletedEvent), (User)context.User));
 }