/// <summary> /// Deletes or disables a User /// </summary> /// <param name="user"><see cref="IUser"/> to delete</param> /// <param name="deletePermanently"><c>True</c> to permanently delete the user, <c>False</c> to disable the user</param> public void Delete(IUser user, bool deletePermanently) { if (deletePermanently == false) { Delete(user); } else { if (DeletingUser.IsRaisedEventCancelled(new DeleteEventArgs <IUser>(user), this)) { return; } var uow = UowProvider.GetUnitOfWork(); using (var repository = RepositoryFactory.CreateUserRepository(uow)) { repository.Delete(user); uow.Commit(); } DeletedUser.RaiseEvent(new DeleteEventArgs <IUser>(user, false), this); } }
public void RaiseDeletingUser(object sender, DeleteSyncEventArgs e) { DeletingUser?.Invoke(sender, e); }