// // GET: /Manage/EditContactInfo public async Task <ActionResult> EditContactInfo() { var user = await UserManager.FindByIdAsync(User.Identity.GetUserId <int>()); if (user == null) { return(HttpNotFound()); } EditContactInfoViewModel model = new EditContactInfoViewModel { Id = user.Id, Forename = user.Forename, Surname = user.Surname, Address1 = user.Address1, Address2 = user.Address2, Address3 = user.Address3, OrganisationId = user.OrganisationId, DefaultInvoicingEmail = user.DefaultInvoicingEmail, PhoneNumber = user.PhoneNumber, PostCode = user.PostCode }; ViewBag.OrganisationId = new SelectList(db.Organisations, "OrganisationId", "Name", model.OrganisationId); return(View(model)); }
public async Task EditContactInfo_GivenIdForDifferentUser_ReturnsRestrictedPage() { SetLoggedInUserId(123); EditContactInfoViewModel model = new EditContactInfoViewModel { UserId = 456 }; ProfileController subject = _fixture.Create <ProfileController>(); ActionResult actionResult = await subject.EditContactInfo(model); AssertX.IsRedirectToRestrictedPage(actionResult); }
public void Validate_GivenCurrentEmailAddress_ShouldNotHaveError() { _fakeUserManager.Setup(x => x.GetUserIdForEmailAddress("*****@*****.**")).Returns(123); EditContactInfoViewModel model = new EditContactInfoViewModel { UserId = 123, EmailAddress = "*****@*****.**" }; EditContactInfoViewModelValidator subject = _fixture.Create <EditContactInfoViewModelValidator>(); subject.ShouldNotHaveValidationErrorFor(x => x.EmailAddress, model); }
public void Validate_GivenEmailAddressInUseByDifferentUser_ShouldHaveError() { _fakeUserManager.Setup(x => x.GetUserIdForEmailAddress("*****@*****.**")).Returns(456); EditContactInfoViewModel model = new EditContactInfoViewModel { UserId = 123, EmailAddress = "*****@*****.**" }; EditContactInfoViewModelValidator subject = _fixture.Create <EditContactInfoViewModelValidator>(); subject.ShouldHaveValidationErrorFor(x => x.EmailAddress, model); }
public async Task EditContactInfo_GivenInvalidInput_RedisplaysTheForm() { SetLoggedInUserId(123); EditContactInfoViewModel model = new EditContactInfoViewModel { UserId = 123 }; ProfileController subject = _fixture.Create <ProfileController>(); subject.AddModelError(); ActionResult actionResult = await subject.EditContactInfo(model); AssertX.IsViewResultWithModel(actionResult, model); }
public virtual async Task <ActionResult> EditContactInfo(int userId) { if (userId != LoggedInUserId) { return(RedirectToAction(MVC.Home.Restricted())); } EditContactInfoViewModel model = await _editContactInfoViewModelBuilder.BuildAsync(userId); if (model == null) { return(HttpNotFound()); } return(View(model)); }
public ActionResult EditContactInfo(EditContactInfoViewModel model) { var updateResume = db.Resumes.Include(r => r.Candidate).ThenInclude(r => r.AccountUser) .Include(r => r.Candidate).ThenInclude(r => r.FamilyStatus) .Include(r => r.Candidate).ThenInclude(r => r.Children) .FirstOrDefault(i => i.Id == model.Id); updateResume.Candidate.Surname = model.Surname; updateResume.Candidate.Name = model.Name; updateResume.Candidate.LastName = model.FatherName; updateResume.Candidate.Sex = model.Sex; if (model.Birthday != DateTime.MinValue) { updateResume.Candidate.Birthday = model.Birthday; } updateResume.Candidate.PhoneNumber = model.Phone; updateResume.Candidate.Email = model.Email; updateResume.Candidate.Facebook = model.Facebook; updateResume.Candidate.Skype = model.Skype; if (model.ChildrenId != null) { var c = db.Childrens.FirstOrDefault(ch => ch.Id == model.ChildrenId); updateResume.Candidate.Children = c; } if (model.FamilyStatusId != null) { var famStatus = db.FamilyStatuses.FirstOrDefault(f => f.Id == model.FamilyStatusId); updateResume.Candidate.FamilyStatus = famStatus; } updateResume.DateChange = DateTime.Now; db.Resumes.Update(updateResume); db.SaveChanges(); return(RedirectToAction("Edit", "Resume", new { resumeId = updateResume.Id })); }
public ActionResult EditContactInfo(Guid resumeId) { var resume = db.Resumes.Include(r => r.Candidate).ThenInclude(r => r.AccountUser) .Include(r => r.Candidate).ThenInclude(r => r.FamilyStatus) .Include(r => r.Candidate).ThenInclude(r => r.Children) .Include(r => r.Candidate).ThenInclude(r => r.City) .FirstOrDefault(i => i.Id == resumeId); var famStatus = db.FamilyStatuses .Include(f => f.Candidates).ThenInclude(can => can.Resumes).ToList(); var model = new EditContactInfoViewModel() { Id = resume.Id, ResumeName = resume.Name, Email = resume.Candidate.Email, Surname = resume.Candidate.Surname, Name = resume.Candidate.Name, FatherName = resume.Candidate.Name, Sex = resume.Candidate.Sex, Birthday = resume.Candidate.Birthday, Phone = resume.Candidate.PhoneNumber, Facebook = resume.Candidate.Facebook, Skype = resume.Candidate.Skype, Country = resume.Candidate.Country, Region = resume.Candidate.Region, CityResident = resume.Candidate.City?.Name, Street = resume.Candidate.Street }; model.FamilyStatuses = db.FamilyStatuses .Include(f => f.Candidates).ThenInclude(can => can.Resumes).Select(e => new SelectListItem() { Value = e.Id.ToString(), Text = e.Name }).ToList(); model.Childrens = db.Childrens .Include(f => f.Candidates).ThenInclude(can => can.Resumes).Select(e => new SelectListItem() { Value = e.Id.ToString(), Text = e.Name }).ToList(); return(View("/Arrea/Candidate/Views/Resumes/EditResume/EditContactInfo.cshtml", model)); }
public EditContactInfo() { _fakeEditContactInfoViewModelBuilder = new Mock <IEditContactInfoViewModelBuilder>(); _fixture.Inject(_fakeEditContactInfoViewModelBuilder); _fakeUserManager = new Mock <IUserManager>(); _fixture.Inject(_fakeUserManager); _validInput = new EditContactInfoViewModel { UserId = 123, FirstName = "Bill", LastName = "Smith", EmailAddress = "*****@*****.**", PhoneNumber = "1234567890" }; }
public virtual async Task <ActionResult> EditContactInfo(EditContactInfoViewModel model) { if (model.UserId != LoggedInUserId) { return(RedirectToAction(MVC.Home.Restricted())); } if (!ModelState.IsValid) { return(View(model)); } await _userManager.UpdateContactInfoAsync(model.UserId, model.FirstName, model.LastName, model.EmailAddress, model.PhoneNumber); FlashSuccess("Contact info updated."); return(RedirectToAction(MVC.Profile.Details(model.UserId))); }
public ActionResult EditContactInfo(EditContactInfoViewModel model) { ViewBag.OrganisationId = new SelectList(db.Organisations, "OrganisationId", "Name", model.OrganisationId); if (ModelState.IsValid) { string username = User.Identity.Name; // Get the userprofile ApplicationUser user = db.Users.FirstOrDefault(u => u.UserName.Equals(username)); // Update fields user.Forename = model.Forename; user.Surname = model.Surname; user.Address1 = model.Address1; user.Address2 = model.Address2; user.Address3 = model.Address3; user.PostCode = model.PostCode; user.OrganisationId = model.OrganisationId; user.PhoneNumber = model.PhoneNumber; user.DefaultInvoicingEmail = model.DefaultInvoicingEmail; db.Entry(user).State = EntityState.Modified; try { db.SaveChanges(); return(RedirectToAction("Index")); } catch (DbEntityValidationException ex) { foreach (var result in ex.EntityValidationErrors) { foreach (var error in result.ValidationErrors) { ModelState.AddModelError(error.PropertyName, error.ErrorMessage); } } return(View(model)); } } return(View(model)); }