示例#1
0
 public async ValueTask HandleRoleDeleted(object sender, RoleDeletedEventArgs e)
 {
     foreach (var service in RoleDeletedServices)
     {
         await ExecuteAsync((service, e) => service.OnRoleDeleted(e), service, e).ConfigureAwait(false);
     }
 }
示例#2
0
        private static void RoleDeleted(RoleDeletedEventArgs e)
        {
            var log_item = new AuditLog();

            Mapper.Map(e, log_item);
            log_item.EventTypeId = (int)AuditEventType.RoleDeleted;
            log_item.OldValue    = string.Empty;
            log_item.NewValue    = e.Role.ToXmlString();
            WriteToLog(log_item);
        }
示例#3
0
        public void DeleteRole(int id)
        {
            using (IUnitOfWork work = UnitOfWork.Begin())
            {
                Role role          = _roleRepository.FindById(id);
                var  logRoleEntity = new RoleEventEntity(role);

                IFoxSecIdentity identity = CurrentUser.Get();
                var             e        = new RoleDeletedEventArgs(role, identity.LoginName, identity.FirstName, identity.LastName, DateTime.Now);

                role.IsDeleted = true;
                work.Commit();

                EventAggregator.GetEvent <RoleDeletedEvent>().Publish(e);

                _logService.CreateLog(CurrentUser.Get().Id, "web", flag, CurrentUser.Get().HostName,
                                      CurrentUser.Get().CompanyId, logRoleEntity.GetDeleteMessage());
            }
        }
示例#4
0
        public async Task HandleAsync(RoleDeletedEventArgs args)
        {
            using var ctx = new AdminDatabaseContext(_provider);

            var roles = await ctx.SpecialRoles.Where(x => x.Id == args.Role.Id)
                        .ToListAsync();

            if (roles.Count > 0)
            {
                ctx.SpecialRoles.RemoveRange(roles);
                await ctx.SaveChangesAsync();
            }

            var selfRoles = await ctx.SelfRoles.Where(x => x.RoleId == args.Role.Id)
                            .ToListAsync();

            if (selfRoles.Count > 0)
            {
                ctx.SelfRoles.RemoveRange(selfRoles);
                await ctx.SaveChangesAsync();
            }
        }
 protected internal virtual ValueTask OnRoleDeleted(RoleDeletedEventArgs e)
 => default;