public ActionResult Edit(int id) { try { // get edited user var user = db.Users.Where(u => u.UserId == id).FirstOrDefault(); if (user != null) { // create view model var model = new EditUser(); model.UserId = user.UserId; model.UserName = user.UserName; model.FullName = user.FullName; model.Phone = user.Phone; model.Email = user.Email; model.IsActive = user.IsActive; // create role checkboxe models var roles = db.Roles.OrderBy(r => r.RoleName).ToList(); foreach (var role in roles) { var roleCB = new RoleCheckBox(); roleCB.RoleId = role.RoleId; roleCB.RoleName = role.RoleName; roleCB.Selected = false; foreach (var userRole in user.Roles) { if (role.RoleId == userRole.RoleId) { roleCB.Selected = true; break; } } model.RoleCheckBoxes.Add(roleCB); } return(View(model)); } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); // Write error log var log = new Log(); log.LogDate = DateTime.Now; log.Action = "User - Edit()"; log.Tags = "Error"; log.Message = ex.ToString(); db.Logs.Add(log); db.SaveChanges(); } return(View()); }
public ActionResult Edit(string id) { var user = db.Users.Find(id); AdminUserViewModel AdminModel = new AdminUserViewModel(); UserRolesHelper helper = new UserRolesHelper(); //AdminModel.Roles = new MultiSelectList(db.Roles, "Name", "Name", selected); var allRoles = new List <string>(); allRoles.Add("Submitter"); allRoles.Add("Developer"); allRoles.Add("Project Manager"); allRoles.Add("Admin"); AdminModel.RolesToSelect = new RoleCheckBox[4]; //build an array that has all user roles and whether the user is in that role //this will be sent to the view int i = 0; foreach (var role in allRoles) { var checkBox = new RoleCheckBox(); checkBox.RoleName = role; if (helper.IsUserInRole(id, role)) { checkBox.Checked = true; } else { checkBox.Checked = false; } AdminModel.RolesToSelect[i] = checkBox; i++; } AdminModel.UserId = user.Id; AdminModel.UserName = user.FirstName + " " + user.LastName; AdminModel.UserEmail = user.Email; return(View(AdminModel)); }