public void SaveDvsUserDetailsFromModel(UserDetailsViewModel userDetails) { var dvsUser = _dvsUserManager.GetDvsUserByUserId(userDetails.Id); dvsUser.User.FirstName = userDetails.FirstName; dvsUser.User.LastName = userDetails.LastName; dvsUser.Status = userDetails.Status; if (dvsUser.User.PrimaryRole.RoleType != userDetails.RoleType) { dvsUser.User.Roles.Remove(dvsUser.User.PrimaryRole); dvsUser.User.Roles.Add(_referenceManager.GetRoleWithoutCache(userDetails.RoleType)); } if (dvsUser.ContactInfo == null) { dvsUser.ContactInfo = new DvsUserContact(); } if (userDetails.PhysicalAddress != null) { if (dvsUser.ContactInfo.PhysicalAddress == null) { dvsUser.ContactInfo.PhysicalAddress = new Address(); } _addressManager.FillAddress(dvsUser.ContactInfo.PhysicalAddress, userDetails.PhysicalAddress); } dvsUser.ContactInfo.TextMsgNumber = userDetails.TextMsgNumber; if (userDetails.Phones != null) { foreach (var phone in userDetails.Phones) { var phoneIsExist = dvsUser.User.Phones.FirstOrDefault(el => el.Id.ToString().Equals(phone.Id)); if (phoneIsExist == null) { if (!String.IsNullOrEmpty(phone.Number)) dvsUser.User.Phones.Add(new Phone { Type = phone.PhoneType, Number = phone.Number }); } else { phoneIsExist.Number = phone.Number; phoneIsExist.Type = phone.PhoneType; } } } var phonesForDelete = new List<Phone>(); foreach (var phone in dvsUser.User.Phones) { var phoneInMemory = userDetails.Phones.FirstOrDefault(e => phone.Id.ToString().Equals(e.Id)); if (phoneInMemory == null && phone.Id != default(int)) phonesForDelete.Add(phone); } phonesForDelete.ForEach(e => dvsUser.User.Phones.Remove(e)); _dvsUserManager.UpdateDvsUser(dvsUser); }
public ActionResult SaveChanges(UserDetailsViewModel viewModel) { _dvsUserManagementService.SaveDvsUserDetailsFromModel(viewModel); CommitProviderInstance.Commit(); return RedirectToAction(NameHelper.DvsPipeline.Administrators, NameHelper.DvsPipeline.Controller, null); }
public PartialViewResult AddPhone() { var phoneItems = new List<PhoneItemViewModel> { new PhoneItemViewModel { Id = Guid.NewGuid().ToString(), PhoneType = PhoneType.Mobile } }; var userDetailsViewModel = new UserDetailsViewModel { Phones = phoneItems }; return PartialView("UserDetailsPartial", userDetailsViewModel); }
public UserDetailsViewModel GetDvsUserDetailsViewModel(int id) { var userDetails = new UserDetailsViewModel(); DvsUser dvsUser = _dvsUserManager.GetDvsUserByUserId(id); userDetails.Id = dvsUser.User.Id; userDetails.Email = dvsUser.User.Email; userDetails.FirstName = dvsUser.User.FirstName; userDetails.LastName = dvsUser.User.LastName; userDetails.Status = dvsUser.Status; userDetails.IsUserLocked = _userManager.CheckFailedAttempts(dvsUser.User.Email) == FailedAttemptResult.Locked; var primaryUserRole = (dvsUser.User.Roles != null && dvsUser.User.Roles.Count > 0) ? dvsUser.User.Roles.First() : null; if (primaryUserRole != null) { userDetails.RoleType = primaryUserRole.RoleType; } if (dvsUser.ContactInfo != null) { userDetails.TextMsgNumber = dvsUser.ContactInfo.TextMsgNumber; if (dvsUser.ContactInfo.PhysicalAddress != null) { userDetails.PhysicalAddress = _addressManager.GetAddressViewModel<NotRequiredAddressViewModel>(dvsUser.ContactInfo.PhysicalAddress); } } userDetails.Phones = dvsUser.User.Phones.Select(el => new PhoneItemViewModel { Id = el.Id.ToString(), Number = el.Number, PhoneType = el.Type }).ToList(); return userDetails; }
public void SaveDvsUserDetailsFromModel_should_save_user() { var userDetails = new UserDetailsViewModel { PhysicalAddress = new NotRequiredAddressViewModel(), Phones = new List<PhoneItemViewModel> { new PhoneItemViewModel { Id = "1", Number = "123-123-1234" }, new PhoneItemViewModel { Id = "2", Number = "123-123-1235" } } }; var roles = new List<Role> { new Role { Id = (int) RoleType.DvsSuperAdmin } }; var phones = new List<Phone> { new Phone { Id = 1, Number = "123-123-1234" } }; var dvsUser = new DvsUser { User = new User { Roles = roles, Phones = phones } }; _dvsUserManager.GetDvsUserByUserId(Arg.Any<int>()).ReturnsForAnyArgs(dvsUser); _target.SaveDvsUserDetailsFromModel(userDetails); }