Пример #1
0
        /// <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);
 }