public IActionResult Edit() { string id = _userManager.GetUserId(User); if (id == null) { return(NotFound()); } var admin = _context.Admins.Include(a => a.User).Single(a => a.Id == id); if (admin == null) { return(NotFound()); } EditAdmin model = new EditAdmin { Id = admin.Id, FirstName = admin.FirstName, MiddleName = admin.MiddleName, LastName = admin.LastName, Mobile = admin.Mobile, Username = admin.User.UserName, Email = admin.User.Email, Phone = admin.User.PhoneNumber }; return(View(model)); }
private void button2_Click(object sender, EventArgs e) { int selectedrowindex = dataGridAdmins.SelectedCells[0].RowIndex; DataGridViewRow selectedRow = dataGridAdmins.Rows[selectedrowindex]; int selected_id = Convert.ToInt32(selectedRow.Cells["id"].Value); EditAdmin ea = new EditAdmin(selected_id); ea.Show(); }
public async Task <IActionResult> EditAdmin(EditAdmin model) { if (!ModelState.IsValid) { return(RedirectToAction("Admins", "Owner")); } // update user ApplicationUser userToUpdate = await _userManager.FindByIdAsync(model.Id); userToUpdate.FirstName = model.FirstName; userToUpdate.LastName = model.LastName; userToUpdate.Level = model.Level; userToUpdate.Email = model.Email; await _userManager.UpdateAsync(userToUpdate); // logs for updating user ApplicationUser updator = await _userManager.GetUserAsync(User); await _db.Logs.AddAsync(await Log.New("Edit User", $"{userToUpdate.Level.ToUpper()}: {userToUpdate.FirstName} {userToUpdate.LastName}, was EDITED", _id, _db)); // log for updated user await _db.Logs.AddAsync(await Log.New("Edit User", $"User was EDITED by {updator.FirstName} {updator.LastName}", _id, _db)); // change password if new one is provided if (!string.IsNullOrEmpty(model.Password) && model.Password == model.ConfirmPassword) { await _userManager.RemovePasswordAsync(userToUpdate); await _userManager.AddPasswordAsync(userToUpdate, model.Password); // log for updating user await _db.Logs.AddAsync(await Log.New("Edit User", $"{userToUpdate.Level.ToUpper()}: {userToUpdate.FirstName} {userToUpdate.LastName}, PASSWORD was changed", updator.Id, _db)); // log for updated user await _db.Logs.AddAsync(await Log.New("Edit User", $"Password was changed by {updator.FirstName} {updator.LastName}", userToUpdate.Id, _db)); } return(RedirectToAction("Admins", "Owner")); }
public async Task <IActionResult> EditAdmin(string ID = null) { if (ID == null) { return(RedirectToAction("Admins", "Owner")); } // get user from db by ID ApplicationUser userToEdit = await _userManager.FindByIdAsync(ID); ViewBag.Claims = await _userManager.GetClaimsAsync(userToEdit); // create model for the view EditAdmin model = new EditAdmin(); model.CopyValues(userToEdit); // all user logs ViewBag.Logs = await _db.Logs.Where(x => x.AdminID == userToEdit.Id).OrderByDescending(x => x.ID).Take(100).ToListAsync(); return(View(model)); }
public async Task <IActionResult> Edit(string id, EditAdmin model) { if (id != model.Id) { return(NotFound()); } Admin admin = _context.Admins.Include(a => a.User).Single(a => a.Id == id); if (admin == null) { return(NotFound()); } if (ModelState.IsValid) { try { IdentityUser user = admin.User; var username = await _userManager.GetUserNameAsync(user); if (model.Username != username) { if (_userManager.Users.Any(u => u.UserName == model.Username)) { ModelState.AddModelError(String.Empty, "User name already taken"); return(View(model)); } var setUserNameResult = await _userManager.SetUserNameAsync(user, model.Username); if (!setUserNameResult.Succeeded) { var userId = await _userManager.GetUserIdAsync(user); throw new InvalidOperationException($"Unexpected error occurred setting username for user with ID '{userId}'."); } } admin.FirstName = model.FirstName; admin.MiddleName = model.MiddleName; admin.LastName = model.LastName; admin.Mobile = model.Mobile; var email = await _userManager.GetEmailAsync(user); if (model.Email != email) { var setEmailResult = await _userManager.SetEmailAsync(user, model.Email); if (!setEmailResult.Succeeded) { var userId = await _userManager.GetUserIdAsync(user); throw new InvalidOperationException($"Unexpected error occurred setting email for user with ID '{userId}'."); } } var phoneNumber = await _userManager.GetPhoneNumberAsync(user); if (model.Phone != phoneNumber) { var setPhoneResult = await _userManager.SetPhoneNumberAsync(user, model.Phone); if (!setPhoneResult.Succeeded) { var userId = await _userManager.GetUserIdAsync(user); throw new InvalidOperationException($"Unexpected error occurred setting phone number for user with ID '{userId}'."); } } _context.Update(admin); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!AdminExists(admin.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(model)); }
private void BtnEdit_Click(object sender, RoutedEventArgs e) { EditAdmin editAdminWindow = new EditAdmin(admin); editAdminWindow.Show(); }