public async Task <IActionResult> EditUser(string id) { var user = await userManager.FindByIdAsync(id); if (user == null) { ViewBag.ErrorMessage = $"User with the respective ID:{id} cannot be found."; return(View("NotFound")); } var userGetClaims = await userManager.GetClaimsAsync(user); //get claims from this user var userGetRoles = await userManager.GetRolesAsync(user); //get roles from this user var editUserModel = new EditUserViewModels() { Id = user.Id, FamilyName = user.SurName, Name = user.Name, Adress = user.Adress, PhoneNumber = user.PhoneNumber, City = user.City, Country = user.Country, Email = user.Email, Age = user.Age, Roles = userGetRoles, Claims = userGetClaims.Select(c => c.Type).ToList() }; return(View(editUserModel)); }
public ActionResult Edit(string id) { Permission p = new Permission(); bool auth = p.IsGranted(User.Identity.Name, this.ControllerContext.RouteData.Values["controller"].ToString() + "_" + this.ControllerContext.RouteData.Values["action"].ToString()); if (!auth) { return(new ViewResult() { ViewName = "Unauthorized" }); } else { EditUserViewModels editUserViewModels = new EditUserViewModels { User = db.User.Where(x => x.Id == id).FirstOrDefault(), RoleId = db.UserRole.Where(x => x.UserId == id).Select(x => x.RoleId).ToList() }; var interest_vm = editUserViewModels.User.Interest == null ? null : JsonConvert.DeserializeObject <List <InterestViewModels> >(editUserViewModels.User.Interest); if (interest_vm != null) { editUserViewModels.LanguageId = interest_vm.Select(x => x.Languages_Id).ToList(); } ViewBag.listRole = new SelectList(db.Role.OrderBy(x => x.Name).ToList(), "Id", "Name"); ViewBag.listBranch = new SelectList(db.Branches.Where(x => x.Active == true).OrderBy(x => x.Name).ToList(), "Id", "Name"); ViewBag.listLanguage = new SelectList(db.Languages.Where(x => x.Active == true).OrderBy(x => x.Name).ToList(), "Id", "Name"); ViewBag.listPromo = new SelectList(db.PromotionEvents.OrderBy(x => x.Name).ToList(), "Id", "Name"); return(View(editUserViewModels)); } }
public async Task <ActionResult> Edit([Bind(Include = "Id,Email,PhoneNumber")] EditUserViewModels editUser, params string[] selectedRole) { if (ModelState.IsValid) { var user = await UserManager.FindByIdAsync(editUser.Id); if (user == null) { return(HttpNotFound()); } user.Email = editUser.Email; user.PhoneNumber = editUser.PhoneNumber; var userRoles = await UserManager.GetRolesAsync(user.Id); selectedRole = selectedRole ?? new string[] { }; var result = await UserManager.AddToRolesAsync(user.Id, selectedRole.Except(userRoles).ToArray <string>()); if (!result.Succeeded) { ModelState.AddModelError("", result.Errors.First()); return(View()); } result = await UserManager.RemoveFromRolesAsync(user.Id, userRoles.Except(selectedRole).ToArray <string>()); if (!result.Succeeded) { ModelState.AddModelError("", result.Errors.First()); return(View()); } return(RedirectToAction("Index")); } return(View()); }
// GET: /UserAdmin/Edit/5 public async Task <ActionResult> Edit(long?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var user = await UserManager.FindByIdAsync(id.Value); if (user == null) { return(HttpNotFound()); } var userRoles = await UserManager.GetRolesAsync(user.Id); EditUserViewModels userDetail = new EditUserViewModels(); userDetail.Id = user.Id; userDetail.UserName = user.UserName; userDetail.Email = user.Email; userDetail.PhoneNumber = user.PhoneNumber; userDetail.RolesList = RoleManager.Roles.ToList().Select(x => new SelectListItem() { Selected = userRoles.Contains(x.Name), Text = x.Name, Value = x.Name }); return(View(userDetail)); }
public async Task <ActionResult> Edit([Bind(Include = "Id,Email,PhoneNumber,UserName")] EditUserViewModels model) { if (ModelState.IsValid) { User user = UserManager.FindById(model.Id); user.UserName = model.UserName.ToUpper(); user.Email = model.Email; user.PhoneNumber = model.PhoneNumber; var result = await UserManager.UpdateAsync(user); if (result.Succeeded) { return(RedirectToAction("Index")); } AddErrors(result, user); } return(View(model)); }
// GET: Users/Edit/5 public ActionResult Edit(string id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } User user = db.Users.Find(id); if (user == null) { return(HttpNotFound()); } EditUserViewModels model = new EditUserViewModels { Id = user.Id, UserName = user.UserName, Email = user.Email, PhoneNumber = user.PhoneNumber }; return(View(model)); }
public async Task <IActionResult> EditUser(EditUserViewModels model) { var user = await userManager.FindByIdAsync(model.Id); if (user == null) { ViewBag.ErrorMessage = $"User with the respective ID:{model.Id} cannot be found."; return(View("NotFound")); } else { if (ModelState.IsValid) { user.SurName = model.FamilyName; user.Name = model.Name; user.Adress = model.Adress; user.PhoneNumber = model.PhoneNumber; user.City = model.City; user.Country = model.Country; user.Email = model.Email; user.Age = model.Age; var result = await userManager.UpdateAsync(user); if (result.Succeeded) { return(RedirectToAction("ListUsers", "Administration")); } foreach (var error in result.Errors) { ModelState.AddModelError("", error.Description); // add errors to ModelStats } } } return(View(model)); }
public ActionResult Edit([Bind(Include = "User,RoleId,LanguageId")] EditUserViewModels editUserViewModels) { if (ModelState.IsValid) { List <InterestViewModels> ivm = new List <InterestViewModels>(); if (editUserViewModels.LanguageId != null) { foreach (var i in editUserViewModels.LanguageId) { ivm.Add(new InterestViewModels { Languages_Id = i }); } } string list_interest = editUserViewModels.LanguageId == null ? string.Empty : JsonConvert.SerializeObject(ivm); var current_data = db.User.Find(editUserViewModels.User.Id); current_data.Firstname = editUserViewModels.User.Firstname; current_data.Middlename = editUserViewModels.User.Middlename; current_data.Lastname = editUserViewModels.User.Lastname; current_data.Birthday = editUserViewModels.User.Birthday; current_data.UserName = editUserViewModels.User.UserName; current_data.Email = editUserViewModels.User.Email; current_data.Phone1 = editUserViewModels.User.Phone1; current_data.Phone2 = editUserViewModels.User.Phone2; current_data.Address = editUserViewModels.User.Address; current_data.Notes = editUserViewModels.User.Notes; current_data.Active = editUserViewModels.User.Active; current_data.Branches_Id = editUserViewModels.User.Branches_Id; current_data.PromotionEvents_Id = editUserViewModels.User.PromotionEvents_Id; current_data.Interest = list_interest; db.Entry(current_data).State = EntityState.Modified; db.SaveChanges(); //var user = new UserModels() //{ // Id = editUserViewModels.User.Id, // Firstname = editUserViewModels.User.Firstname, // Middlename = editUserViewModels.User.Middlename, // Lastname = editUserViewModels.User.Lastname, // Birthday = editUserViewModels.User.Birthday, // UserName = editUserViewModels.User.UserName, // Email = editUserViewModels.User.Email, // Phone1 = editUserViewModels.User.Phone1, // Phone2 = editUserViewModels.User.Phone2, // Address = editUserViewModels.User.Address, // Notes = editUserViewModels.User.Notes, // Active = editUserViewModels.User.Active, // Branches_Id = editUserViewModels.User.Branches_Id //}; //var userRole = new UserRoleModels() { UserId = userViewModels.Id, RoleId = userViewModels.RoleId }; using (var database = new iSpeakContext()) { //database.User.Attach(user); //database.Entry(user).Property(x => x.Firstname).IsModified = true; //database.Entry(user).Property(x => x.Middlename).IsModified = true; //database.Entry(user).Property(x => x.Lastname).IsModified = true; //database.Entry(user).Property(x => x.Birthday).IsModified = true; //database.Entry(user).Property(x => x.UserName).IsModified = true; //database.Entry(user).Property(x => x.Email).IsModified = true; //database.Entry(user).Property(x => x.Phone1).IsModified = true; //database.Entry(user).Property(x => x.Phone2).IsModified = true; //database.Entry(user).Property(x => x.Address).IsModified = true; //database.Entry(user).Property(x => x.Notes).IsModified = true; //database.Entry(user).Property(x => x.Active).IsModified = true; //database.Entry(user).Property(x => x.Branches_Id).IsModified = true; int deleteUserRole = database.Database.ExecuteSqlCommand("DELETE FROM AspNetUserRoles WHERE UserId='" + editUserViewModels.User.Id + "'"); //database.UserRole.Attach(userRole); //database.Entry(userRole).Property(x => x.RoleId).IsModified = true; //database.SaveChanges(); } //var list_role_before = db.UserRole.AsNoTracking().Where(x => x.UserId == editUserViewModels.User.Id).ToList(); //foreach (var role in list_role_before) //{ // db.UserRole.Remove(role); //} foreach (var role_id in editUserViewModels.RoleId) { //UserRoleModels urm = new UserRoleModels(); //urm.UserId = editUserViewModels.User.Id; //urm.RoleId = role_id; //db.UserRole.Add(urm); using (var ctx = new iSpeakContext()) { int updateUserRole = ctx.Database.ExecuteSqlCommand("INSERT INTO AspNetUserRoles VALUES ('" + editUserViewModels.User.Id + "','" + role_id + "')"); } } //db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.listRole = new SelectList(db.Role.OrderBy(x => x.Name).ToList(), "Id", "Name"); ViewBag.listBranch = new SelectList(db.Branches.Where(x => x.Active == true).OrderBy(x => x.Name).ToList(), "Id", "Name"); ViewBag.listLanguage = new SelectList(db.Languages.Where(x => x.Active == true).OrderBy(x => x.Name).ToList(), "Id", "Name"); ViewBag.listPromo = new SelectList(db.PromotionEvents.OrderBy(x => x.Name).ToList(), "Id", "Name"); return(View(editUserViewModels)); }