public ActionResult edit(int? id) { if (id == null) { return RedirectToAction("Index", "User"); } else { IUserService services = new UserService(); User user = services.findAnUser(id.Value); ViewBag.user = user; //IRepository<User> repository = new UserRepository(); //User user = repository.findById(id.Value); //ViewBag.user = user; List<Role> roles = services.getRoles(); //RoleRepository role_repo = new RoleRepository(); //IEnumerable<Role> roles = role_repo.List; ViewBag.roles = roles; } return View(); }
public string editUser() { //get data from request int selectedUserID = Int32.Parse(Request.Params["userID"]); double newBalance = Double.Parse(Request.Params["balance"]); int newRoleID = Int32.Parse(Request.Params["role"]); string selectedRoleName = Request.Params["roleName"]; UserService services = new UserService(); if(services.checkIsManage(selectedUserID)) { return "manage"; } else { User selectedUser = services.findAnUser(selectedUserID); selectedUser.Balance = newBalance; selectedUser.RoleID = newRoleID; if (services.updateUser(selectedUser)) { return "true"; } } return "false"; //return services.updateUser(selectedUser); /* //get the old info of the account IRepository<User> repository = new UserRepository(); int n_selectedUserID = int.Parse(selectedUserID); User selectedUser = repository.findById(n_selectedUserID); int oldRoleID = selectedUser.RoleID; string selectedUserName = selectedUser.UserName; IRepository<Role> role_repo = new RoleRepository(); Role roleInfo = new Role(); //get old roleName roleInfo = role_repo.findById(oldRoleID); string oldRoleName = roleInfo.RoleName; //get new roleName roleInfo = role_repo.findById(newRoleID); string newRoleName = roleInfo.RoleName; //update user in User table selectedUser.Balance = newBalance; selectedUser.RoleID = newRoleID; repository.Update(selectedUser); var context = new NetCafeWeb.Models.ApplicationDbContext(); var UserManager = new UserManager<NetCafeWeb.Models.ApplicationUser>(new UserStore<NetCafeWeb.Models.ApplicationUser>(context)); //var RoleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(context)); //var result = RoleManager. //var store = new Microsoft.AspNet.Identity.EntityFramework.UserStore<NetCafeWeb.Models.ApplicationUser>(new NetCafeWeb.Models.ApplicationDbContext()); //var manager = new Microsoft.AspNet.Identity.UserManager<NetCafeWeb.Models.ApplicationUser>(store); //update the user in asp user //var context = new NetCafeWeb.Models.ApplicationDbContext(); //var account = new AccountController(); //delete old role for the current user ApplicationUser aspSelectedUser = context.Users.Where(u => u.UserName.Equals((selectedUserName), StringComparison.CurrentCultureIgnoreCase)).FirstOrDefault(); //ApplicationUser aspSelectedUser = UserManager.Users.FirstOrDefault(u => u.UserName == selectedUserName); //account.UserManager.RemoveFromRoleAsync(aspSelectedUser.Id, oldRoleName); UserManager.RemoveFromRole(aspSelectedUser.Id, oldRoleName); //add new role for the current user //account.UserManager.AddToRoleAsync(aspSelectedUser.Id, newRoleName); UserManager.AddToRole(aspSelectedUser.Id, newRoleName); return true; */ }