Beispiel #1
0
        public void RemoveUser(DeletedUser deletedUser)
        {
            var transaction = _context.Database.BeginTransaction();

            try
            {
                var user = _context.Users.Include(u => u.GroupUsers).Include(u => u.UserMails).First(u => u.Email == deletedUser.Address);
                foreach (var groupUser in user.GroupUsers)
                {
                    _context.GroupUsers.Remove(groupUser);
                }
                foreach (var userMail in user.UserMails)
                {
                    _context.UserMails.Remove(userMail);
                }
                _context.Users.Remove(user);
                _context.SaveChanges();

                transaction.Commit();
            }
            catch (Exception)
            {
                transaction.Rollback();
            }
        }
Beispiel #2
0
 public void ConstructorTest()
 {
     #region Init variables
     string address = "*****@*****.**";
     #endregion
     DeletedUser userEnableUpdate = new DeletedUser
     {
         Address = address
     };
     #region Tests
     Assert.NotNull(userEnableUpdate);
     Assert.Equal(userEnableUpdate.Address, address);
     #endregion
 }
Beispiel #3
0
        public void WhenDeletedUserAddressHaveNoDomain_ShouldHaveError()
        {
            var validator = new DeletedUserValidator();

            #region Init variables
            string address = "test@address";
            #endregion
            DeletedUser mailReadUpdate = new DeletedUser
            {
                Address = address
            };
            var result = validator.TestValidate(mailReadUpdate);
            #region Tests
            result.ShouldHaveValidationErrorFor(x => x.Address);
            #endregion
        }
Beispiel #4
0
        public void WhenDeletedUserIsOk_ShouldNotHaveAnyError()
        {
            var validator = new DeletedUserValidator();

            #region Init variables
            string address = "*****@*****.**";
            #endregion
            DeletedUser mailReadUpdate = new DeletedUser
            {
                Address = address
            };
            var result = validator.TestValidate(mailReadUpdate);
            #region Tests
            result.ShouldNotHaveAnyValidationErrors();
            #endregion
        }
Beispiel #5
0
        public IActionResult DeleteUser([FromBody] DeletedUser deletedUser)
        {
            _telemetryClient.TrackEvent("Delete",
                                        new Dictionary <string, string>()
            {
                { "Address", deletedUser.Address }
            });
            ErrorResponse errorResponse = new ErrorResponse();
            string        userEmail     = User.Claims.Where(x => x.Type == "emails").First().Value;

            if (userEmail == deletedUser.Address)
            {
                errorResponse.Errors.Add(new ErrorModel {
                    FieldName = "User", Message = "You can't remove yourself"
                });
                Response.StatusCode = 400;
                return(new JsonResult(errorResponse));
            }
            _userService.RemoveUser(deletedUser);
            return(Ok());
        }
        /// <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 RaiseDeletedUser(object sender, DeleteSyncUserDeletedEventArgs e)
 {
     DeletedUser?.Invoke(sender, e);
 }
Beispiel #8
0
 public RegisteredUser Delete(DeletedUser Id)
 {
     throw new NotImplementedException();
 }