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); }
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; }
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); }
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); } }
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); }
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); }
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); } }
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); }
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); } }
public ActionResult Delete(UserEditVm model) { _service.UpdateUserState(model.UserId, model.ApproveState, LiveStatuses.Deleted); return RedirectToAction("Index"); }
public ActionResult ApproveUser(UserEditVm model) { _service.UpdateUserState(model.UserId, ApproveStates.Approved, LiveStatuses.Active); return RedirectToAction("Index"); }
public ActionResult RecoverUser(UserEditVm model) { _service.RecoverUser(model.Email); return RedirectToAction("Index"); }
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); }
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); }
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)); }
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)); }