Example #1
0
        //
        // 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));
        }
Example #2
0
            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);
            }
Example #5
0
            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);
            }
Example #6
0
        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));
        }
Example #9
0
            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"
                };
            }
Example #10
0
        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)));
        }
Example #11
0
        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));
        }