Exemplo n.º 1
0
        public void EditUser(UserEditVm userModel, bool deleted)
        {
            var userToEdit = GetUser(userModel.UserId);
            if (!EmailSender.IsValidEmailAddress(userModel.Email))
            {
                throw new WarningException(string.Format("{0} - is not valid email address", userModel.Email));
            }
            if (userToEdit.Email != userModel.Email && _unit.User.Get(u => u.Email == userModel.Email) != null)
            {
                throw new WarningException(string.Format("User with email {0} already exists", userModel.Email));
            }
            if (userModel.Email != userToEdit.Email)
            {
                sendMsgToUser(userToEdit);
            }

            userToEdit.FirstName = userModel.FirstName;
            userToEdit.LastName = userModel.LastName;
            userToEdit.Email = userModel.Email;
            userToEdit.Role = userModel.Role;
            userToEdit.Live = deleted ? LiveStatuses.Deleted : userToEdit.Live;
            userToEdit.BirthDate = userModel.BirthDate;

            var contacts = _contactService.UpdateContacts(userModel.Contacts);
            userToEdit.Contacts.Clear();
            userToEdit.Contacts = contacts;

            _unit.User.Save(userToEdit);
        }
Exemplo n.º 2
0
        public bool CreateUser(UserEditVm userEditVm)
        {
            var dbUser = _unit.User.Get(u => u.Email == userEditVm.Email);

            if (dbUser != null)
            {
                userEditVm.FirstName = dbUser.FirstName;
                userEditVm.LastName = dbUser.LastName;
                userEditVm.Role = dbUser.Role;

                if (dbUser.Live == LiveStatuses.Deleted)
                {
                    userEditVm.Live = dbUser.Live;
                }

                return false;
            }

            userEditVm.ApproveState = ApproveStates.NotApproved;
            userEditVm.Live = LiveStatuses.Active;

            SaveUser(userEditVm);
            dbUser = _unit.User.Get(u => u.Email == userEditVm.Email);
            dbUser.PasswordHash = userEditVm.Email;
            _unit.User.Save(dbUser);

            return true;
        }
Exemplo n.º 3
0
        public void Can_Not_Create_User_With_NonUnique_Email()
        {
            //arrange
            var testUserVm = new UserEditVm { Email = _users[0].Email, FirstName = "Alexandr" };

            //act
            _userController.Create(testUserVm);
            var userView = _userController.List(new UserFilterVm { NotApproved = true }) as PartialViewResult;
            var users = (userView.Model as UsersVm).Users;

            //assert
            users.Count(user => user.Email.Equals(testUserVm.Email)).ShouldBeEquivalentTo(1);
        }
Exemplo n.º 4
0
 public ActionResult Edit(UserEditVm userEditVm)
 {
     try
     {
         _service.EditUser(userEditVm);
         FormsAuthentication.SetAuthCookie(userEditVm.Email, true);
         return RedirectToAction("Index", "Home");
     }
     catch (WarningException exception)
     {
         ModelState.AddModelError("", exception.Message);
         return View(userEditVm);
     }
 }
Exemplo n.º 5
0
        public void Can_Edit_Account_Info()
        {
            //arrange
            var testUserId = _repoUnit.User.Get(user => user.Email == "*****@*****.**").Id;
            var testUserVm = new UserEditVm(testUserId, "Toto", "Koko", "*****@*****.**", Roles.Simple, new DateTime(1991, 09, 20), LiveStatuses.Active, ApproveStates.Approved);

            //act
            _accountService.EditUser(testUserVm);
            var editedUser = _repoUnit.User.Get(testUserId);

            //assert

            editedUser.Email.ShouldBeEquivalentTo(testUserVm.Email);
            editedUser.FirstName.ShouldBeEquivalentTo(testUserVm.FirstName);
            editedUser.LastName.ShouldBeEquivalentTo(testUserVm.LastName);
            editedUser.BirthDate.ShouldBeEquivalentTo(testUserVm.BirthDate);
        }
Exemplo n.º 6
0
        public void Cannot_Edit_Account_Role_And_LiveState()
        {
            //arrange

            var testUserId = _repoUnit.User.Get(user => user.Email == "*****@*****.**").Id;
            var testUserVm = new UserEditVm(testUserId, "Toto", "Koko", "*****@*****.**", Roles.Admin, new DateTime(1991, 09, 20), LiveStatuses.Deleted, ApproveStates.Approved);

            //act

            _accountService.EditUser(testUserVm);
            var editedUser = _repoUnit.User.Get(testUserId);

            //assert

            editedUser.Role.ShouldBeEquivalentTo(Roles.Simple);
            editedUser.Live.ShouldBeEquivalentTo(LiveStatuses.Active);
            editedUser.ApproveState.ShouldBeEquivalentTo(ApproveStates.NotApproved);
        }
Exemplo n.º 7
0
        public ActionResult Create(UserEditVm model)
        {
            ModelState.Remove("userId");
            if (!ModelState.IsValid)
            {
                return View("Edit", model);
            }

            try
            {
                if (_service.CreateUser(model))
                {
                    return RedirectToAction("Index");
                }
                return View("Details", model);
            }
            catch (WarningException exception)
            {
                ModelState.AddModelError("", exception.Message);
                return View("Edit", model);
            }
        }
Exemplo n.º 8
0
        public void SaveUser(UserEditVm userModel)
        {
            if (!EmailSender.IsValidEmailAddress(userModel.Email))
            {
                throw new WarningException(string.Format("{0} - is not valid email address", userModel.Email));
            }
            if (_unit.User.Get(u => u.Email == userModel.Email) != null)
            {
                throw new WarningException(string.Format("User with email {0} already exists", userModel.Email));
            }

            var user = userModel.Map();
            user.Contacts = _contactService.UpdateContacts(userModel.Contacts);

            _unit.User.Save(user);
        }
Exemplo n.º 9
0
 public ActionResult Edit(UserEditVm model, bool deleted)
 {
     try
     {
         _service.EditUser(model, deleted);
         return RedirectToAction("Index");
     }
     catch (WarningException exception)
     {
         ModelState.AddModelError("", exception.Message);
         return View(model);
     }
 }
Exemplo n.º 10
0
 public ActionResult Delete(UserEditVm model)
 {
     _service.UpdateUserState(model.UserId, model.ApproveState, LiveStatuses.Deleted);
     return RedirectToAction("Index");
 }
Exemplo n.º 11
0
 public ActionResult ApproveUser(UserEditVm model)
 {
     _service.UpdateUserState(model.UserId, ApproveStates.Approved, LiveStatuses.Active);
     return RedirectToAction("Index");
 }
Exemplo n.º 12
0
 public ActionResult RecoverUser(UserEditVm model)
 {
     _service.RecoverUser(model.Email);
     return RedirectToAction("Index");
 }
Exemplo n.º 13
0
        public void Should_create_user()
        {
            //arrange
            var testUserVm = new UserEditVm { Email = "*****@*****.**" };
            _config.PageSize = _users.Count + 1;

            //act
            _userController.Create(testUserVm);
            var userView = _userController.List(new UserFilterVm { Deleted = true, NotApproved = true }) as PartialViewResult;
            var users = (userView.Model as UsersVm).Users;

            //assert
            users.Should().HaveCount(_users.Count + 1);
            users.Skip(_users.Count).First().Email.ShouldBeEquivalentTo(testUserVm.Email);
        }
Exemplo n.º 14
0
        public void Should_save_edit_changes_When_editing_user()
        {
            //arrange
            var testUserVm = new UserEditVm { UserId = _users[1].Id, Email = "*****@*****.**", Role = Roles.Admin };

            //act
            _userController.Edit(testUserVm, false);
            var userView = _userController.List(new UserFilterVm { NotApproved = true }) as PartialViewResult;
            var users = (userView.Model as UsersVm).Users;

            //assert
            users.Should().Contain(user => user.Email.Equals(testUserVm.Email) && user.Id == testUserVm.UserId);
        }
Exemplo n.º 15
0
        public void Should_not_create_user_When_email_is_incorrect(string email)
        {
            //arrange
            var testUserVm = new UserEditVm { Email = email };

            //act
            _userController.Create(testUserVm);
            var userView = _userController.List(new UserFilterVm { NotApproved = true }) as PartialViewResult;
            var users = (userView.Model as UsersVm).Users;

            //assert
            users.Should().NotContain(user => user.Email.Equals(email));
        }
Exemplo n.º 16
0
        public void Should_delete_user()
        {
            //arrange
            var testUserVm = new UserEditVm(_users[2]);

            //act
            _userController.Delete(testUserVm);
            var userView = _userController.List(new UserFilterVm { NotApproved = true }) as PartialViewResult;
            var users = (userView.Model as UsersVm).Users;

            //assert
            users.Should().NotContain(user => user.Email.Equals(testUserVm.Email));
        }