public ActionResult ChangeContactInfo(ChangeContactInfoViewModel model) { if (ModelState.IsValid) { var personToUpdate = _volunteerSvc.FindByUserId(WebSecurity.CurrentUserId); try { _volunteerSvc.UpdateDetails(new Person { Id = personToUpdate.Id, Cluster= personToUpdate.Cluster, ClusterId = personToUpdate.ClusterId, FirstName = personToUpdate.FirstName, LastName = personToUpdate.LastName, UserId = personToUpdate.UserId, Email = model.Email, PhoneNumber = model.PhoneNumber }); return RedirectToAction("ContactInfoChanged"); } catch (PersonEmailAlreadyInUseException) { ModelState.AddModelError("Email", "This Email Address is already in use!"); } } return View(); }
public ActionResult ChangeContactInfo() { if (WebSecurity.CurrentUserId == 1) { TempData["AdminContactError"] = "Administrator is not allowed to have contact details!"; return RedirectToAction("Index", "Home"); } var personToUpdate = _volunteerSvc.FindByUserId(WebSecurity.CurrentUserId); ChangeContactInfoViewModel model = new ChangeContactInfoViewModel { Email = personToUpdate.Email, PhoneNumber = personToUpdate.PhoneNumber }; return View(model); }
public ActionResult ChangeContactInfo() { if (_webSecurity.CurrentUserId == 1) { TempData["AdminContactError"] = "Administrator is not allowed to have contact details!"; return RedirectToAction("Index", "Home"); } var personToUpdate = _volunteerSvc.GetPersonDetailsForChangeContactInfo(_webSecurity.CurrentUserId); if (personToUpdate != null) { ChangeContactInfoViewModel model = new ChangeContactInfoViewModel { Email = personToUpdate.Email, PhoneNumber = personToUpdate.PhoneNumber }; return View(model); } return View("ChangeContactInfo", DetermineLayout(), null); }
public void ChangeContactInfo_Assign_ValidData_Redirects_To_ContactInfoChanged_View() { // Arrange _volunteerService.Setup(x => x.FindByUserId(It.IsAny<int>())).Returns(new Person()); // Act var model = new ChangeContactInfoViewModel { Email = "*****@*****.**", PhoneNumber = "123456789" }; Mother.ControllerHelpers.SetupControllerModelState(model, _controllerUnderTest); var response = _controllerUnderTest.ChangeContactInfo(model); // Assert var view = response as RedirectToRouteResult; Assert.IsNotNull(view); var action = view.RouteValues["action"]; Assert.AreEqual("ContactInfoChanged", action.ToString()); }
public void ChangeContactInfo_DuplicateEmailAddress_ReturnsChangeContactInfoView_With_ModelState_Error() { // Arrange _volunteerService.Setup(x => x.UpdateDetails(It.IsAny<Person>())).Throws<PersonEmailAlreadyInUseException>(); // Act var model = new ChangeContactInfoViewModel { Email = "*****@*****.**", PhoneNumber = "123456789" }; Mother.ControllerHelpers.SetupControllerModelState(model, _controllerUnderTest); var response = _controllerUnderTest.ChangeContactInfo(model); // Assert var result = response as ViewResult; Assert.IsNotNull(result); Assert.IsTrue(result.ViewData.ModelState.ContainsKey("Email")); Assert.IsTrue(result.ViewName.Equals("ChangeContactInfo")); Assert.IsTrue(result.ViewData.ModelState.Count >= 1); }
public ActionResult ChangeContactInfo(ChangeContactInfoViewModel model) { if (ModelState.IsValid) { try { _volunteerSvc.UpdateDetails(new Person { UserId = _webSecurity.CurrentUserId, Email = model.Email, PhoneNumber = model.PhoneNumber }); return RedirectToAction("ContactInfoChanged"); } catch (PersonEmailAlreadyInUseException) { ModelState.AddModelError("Email", "This Email Address is already in use!"); } } return View("ChangeContactInfo", DetermineLayout(), model); }
public void ChangeContactInfo_Invalid_ModelState_Directs_User_To_ChangeContactInfo_View() { // Arrange // Act var model = new ChangeContactInfoViewModel { Email = "*****@*****.**", PhoneNumber = "" }; Mother.ControllerHelpers.SetupControllerModelState(model, _controllerUnderTest); var response = _controllerUnderTest.ChangeContactInfo(model); // Assert var result = response as ViewResult; Assert.IsNotNull(result); Assert.IsTrue(result.ViewName.Equals("ChangeContactInfo")); Assert.IsTrue(result.ViewData.ModelState.Count >= 1); }
public ActionResult ChangeContactInfo() { var personToUpdate = _volunteerSvc.FindByUserId(WebSecurity.CurrentUserId); ChangeContactInfoViewModel model = new ChangeContactInfoViewModel { Email = personToUpdate.Email, PhoneNumber = personToUpdate.PhoneNumber }; return View(model); }
public ActionResult ChangeContactInfo(ChangeContactInfoViewModel model) { if (ModelState.IsValid) { try { _volunteerSvc.UpdateDetails(new Person { UserId = _webSecurity.CurrentUserId, Email = model.Email, PhoneNumber = model.PhoneNumber, OrganizationId = model.SelectedOrganizationId }); return RedirectToAction("ContactInfoChanged"); } catch (PersonEmailAlreadyInUseException) { ModelState.AddModelError("Email", "This Email Address is already in use!"); } } // rehydrate organizations if necessary. model.Organizations = model.Organizations ?? _organizationService.GetActiveList(); return View("ChangeContactInfo", DetermineLayout(), model); }