public void ChangeUserDetails(DisplayUserModel model) { var user = _userRepository.GetById(model.Id); bool changed = false; if (!user.Name.Equals(model.Firstname)) { user.Name = model.Firstname; changed = true; } if (!user.Surname.Equals(model.Lastname)) { user.Surname = model.Lastname; changed = true; } if (!user.Email.Equals(model.Email)) { user.Email = model.Email; changed = true; } if (changed) { _userRepository.Save(user); } }
private DisplayUserModel InitDisplayUserModel(User user) { var model = new DisplayUserModel { Id = user.Id, Firstname = user.Name, Lastname = user.Surname, Gender = user.Gender, Email = user.Email, Username = user.Username, TokenCount = user.TokenCount }; return(model); }
public ActionResult Edit(DisplayUserModel model) { try { if (ModelState.IsValid) { _accountBl.ChangeUserDetails(model); return(RedirectToAction("Index", "Users")); } logger.Info("Model state invalid"); return(View()); } catch (Exception e) { logger.Error("Exception occured, redirecting to edit page. " + e.Message); return(View()); } }
public async Task <ActionResult> UserDisplay(DisplayUserModel model) { try { var userList = await GetAllUsers(); var rolesList = await GetAllRoles(); List <SelectListItem> listUsersWithRoles = new List <SelectListItem>(); List <SelectListItem> listExistingRoles = new List <SelectListItem>(); List <SelectListItem> listOtherRoles = new List <SelectListItem>(); string emailId = null; DisplayUserModel displayUserModel; foreach (UserModel user in userList) { if (user.Id == model.SelectedUsers.First()) { listExistingRoles = (from r in user.Roles select new SelectListItem { Text = r.Value, Value = r.Key }).ToList(); foreach (var role in rolesList) { if (!(listExistingRoles.Any(x => x.Value == role.Value))) { listOtherRoles.Add(role); } } emailId = user.Email; } string userRolesList = string.Join(",", user.Roles.Select(x => x.Value)); SelectListItem selectList = new SelectListItem() { Text = $"{user.Email} : {Environment.NewLine} {userRolesList}", Value = user.Id.ToString() }; listUsersWithRoles.Add(selectList); } if (null != model.SelectedExistingRoles && null == model.SelectedOtherRoles) { SelectListItem existingRoleToBeRemoved = listExistingRoles.FirstOrDefault(x => x.Value == model.SelectedExistingRoles.First()); await _userEndPoint.RemoveUserFromRole(model.SelectedUsers.First(), existingRoleToBeRemoved.Text); listExistingRoles.Remove(existingRoleToBeRemoved); listOtherRoles.Add(existingRoleToBeRemoved); } if (null != model.SelectedOtherRoles && null == model.SelectedExistingRoles) { SelectListItem otherRoleToBeAdded = listOtherRoles.FirstOrDefault(x => x.Value == model.SelectedOtherRoles.First()); await _userEndPoint.AddUserToRole(model.SelectedUsers.First(), otherRoleToBeAdded.Text); listOtherRoles.Remove(otherRoleToBeAdded); listExistingRoles.Add(otherRoleToBeAdded); } displayUserModel = new DisplayUserModel() { Users = listUsersWithRoles, SelectedUsers = model.SelectedUsers, EmailId = emailId, ExistingRoles = listExistingRoles, OtherRoles = listOtherRoles }; return(RedirectToAction("UserDisplay", new { serializedModel = JsonConvert.SerializeObject(displayUserModel) })); } catch (Exception ex) { //TODO : Log the exception. if (ex.Message.Equals("Unauthorized")) { ViewBag.ErrorTitle = $"{ex.Message}"; ViewBag.ErrorMessage = "You do not have permission to interact with the Users form"; } return(View("Error")); } }
public async Task <ActionResult> UserDisplay(string serializedModel) { try { var userList = await GetAllUsers(); var rolesList = await GetAllRoles(); List <SelectListItem> listUsersWithRoles = new List <SelectListItem>(); DisplayUserModel displayUserModel; if (null == serializedModel) { foreach (UserModel user in userList) { string userRolesList = string.Join(",", user.Roles.Select(x => x.Value)); SelectListItem selectList = new SelectListItem() { Text = $"{user.Email} : {Environment.NewLine} {userRolesList}", Value = user.Id.ToString() }; listUsersWithRoles.Add(selectList); } displayUserModel = new DisplayUserModel() { Users = listUsersWithRoles }; } else { displayUserModel = JsonConvert.DeserializeObject <DisplayUserModel>(serializedModel); if (null == displayUserModel) { foreach (UserModel user in userList) { string userRolesList = string.Join(",", user.Roles.Select(x => x.Value)); SelectListItem selectList = new SelectListItem() { Text = $"{user.Email} : {Environment.NewLine} {userRolesList}", Value = user.Id.ToString() }; listUsersWithRoles.Add(selectList); } displayUserModel = new DisplayUserModel() { Users = listUsersWithRoles }; } } return(View(displayUserModel)); } catch (Exception ex) { //TODO : Log the exception. if (ex.Message.Equals("Unauthorized")) { ViewBag.ErrorTitle = $"{ex.Message}"; ViewBag.ErrorMessage = "You do not have permission to interact with the Users form"; } return(View("Error")); } }