public async Task <IActionResult> Edit(string id) { _logger.LogInformation("Opening Admin/Edit page"); if (id == null) { return(NotFound()); } var allRoles = await _userService.GetRolesAsync(); var userInfo = await _userService.GetUserInfoAsync(id); if (userInfo == null) { return(NotFound()); } var model = new ChangeUserInfoViewModel { Email = userInfo.Email, FirstName = userInfo.FirstName, SecondName = userInfo.SecondName, Role = userInfo.Role, AllRoles = allRoles.ToList() }; return(View(model)); }
public async Task <IActionResult> ChangeUserInfo(ChangeUserInfoViewModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _logger.LogDebug("ChangeUserInfo action started."); var user = await _userManager.FindByNameAsync(User.Identity.Name); if (user == null) { _logger.LogDebug("User not found with Email: {0}", User.Identity.Name); return(NotFound("Пользователь не найден.")); } _logger.LogDebug("Change credetials."); user.FullName = model.FullName; user.DateOfBirth = model.DateOfBirth; if (model.Avatar != null) { _logger.LogDebug("Change avatar."); int id = await _fileProcessing.AvatarSave(model.Avatar); user.Avatar = await _db.Files.FindAsync(id); } await _userManager.UpdateAsync(user); _logger.LogDebug("ChangeUserInfo method finish successfull."); return(RedirectToAction("Index")); }
public async Task <IActionResult> Edit(ChangeUserInfoViewModel model) { if (ModelState.IsValid) { User user = await userManager.FindByIdAsync(model.Id); if (user != null) { user.Email = model.Email; user.UserName = model.Email; user.FullName = model.FullName; user.HasAbilityToLoad = model.HasAbilityToLoad; var newRole = await roleManager.Roles.FirstOrDefaultAsync(x => x.Name == model.RoleName); var userRoles = await DB.UserRoles.Where(x => x.UserId == user.Id).ToListAsync(); userRoles.ForEach(x => DB.UserRoles.Remove(x)); var result = await userManager.UpdateAsync(user); if (result.Succeeded) { await userManager.AddToRoleAsync(user, newRole.Name); } else { foreach (var error in result.Errors) { ModelState.AddModelError(string.Empty, error.Description); } } } } return(Ok(model)); }
public async Task <IActionResult> Edit(ChangeUserInfoViewModel model) { if (!ModelState.IsValid) { return(View(model)); } if (!await _userService.ContainsByIdAsync(model.Id)) { return(NotFound()); } var result = await _userService.EditAsync(new UserInfo { Id = model.Id, Email = model.Email, FirstName = model.FirstName, SecondName = model.SecondName, Role = model.Role }, model.Password); if (!result.Succeeded) { foreach (var error in result.Errors) { ModelState.AddModelError("", error.Description); } return(View(model)); } return(RedirectToAction("Index")); }
public virtual ActionResult ChangeUserInfoViewModel(ChangeUserInfoViewModel model) { var userExists = _userManager.FindByEmail(model.Email); if (userExists != null) { if (userExists.Id != User.Identity.GetUserId <int>()) { ModelState.AddModelError("Email", "Adres email jest używany!"); } } if (ModelState.IsValid) { var user = _userManager.FindById(User.Identity.GetUserId <int>()); user.City = model.Miasto; user.LastName = model.LastName; user.Name = model.Name; user.PostalCode = model.KodPocztowy; user.Number = model.Numer; user.PhoneNumber = model.Telefon; user.Street = model.Ulica; user.KontoFirmowe = false; if (user.Email != model.Email) { var code = _userManager.GenerateUserToken("ChangeEmail", user.Id); var callbackUrl = Url.Action("ZmianaEmaila", "Konto", new { userId = user.Id, code, newEmail = model.Email, oldEmail = user.Email }, Request.Url.Scheme); ChangeEmailMailBuilder(callbackUrl, model.Email, user.Email); ViewBag.EmailChanged = true; } var result = _userManager.Update(user); model.Success = result.Succeeded; return(PartialView("_ChangeUserInfoViewModel", model)); } return(PartialView("_ChangeUserInfoViewModel", model)); }
public ActionResult ChangeUserInfo(ChangeUserInfoViewModel model, HttpPostedFileBase image) { var user = UserManager.FindById(User.Identity.GetUserId()); if (user.UserName == "*****@*****.**") { return(RedirectToAction("ChangesNotAuthorized")); } var pPic = model.ProfilePic; if (image != null && image.ContentLength > 0) { var ext = Path.GetExtension(image.FileName).ToLower(); if (ext != ".png" && ext != ".jpg" && ext != ".jpeg" && ext != ".gif" && ext != ".bmp") { ModelState.AddModelError("image", "Invalid Format."); } } if (ModelState.IsValid) { if (image != null) { //Counter var num = 0; //Gets Filename without the extension var fileName = Path.GetFileNameWithoutExtension(image.FileName); pPic = Path.Combine("/assets/ProfilePics/", fileName + Path.GetExtension(image.FileName)); //Checks if pPic matches any of the current attachments, //if so it will loop and add a (number) to the end of the filename while (db.Users.AsNoTracking().Any(u => u.ProfilePic == pPic)) { //Sets "filename" back to the default value fileName = Path.GetFileNameWithoutExtension(image.FileName); //Add's parentheses after the name with a number ex. filename(4) fileName = string.Format(fileName + "(" + ++num + ")"); //Makes sure pPic gets updated with the new filename so it could check pPic = Path.Combine("/assets/ProfilePics/", fileName + Path.GetExtension(image.FileName)); } image.SaveAs(Path.Combine(Server.MapPath("~/assets/ProfilePics/"), fileName + Path.GetExtension(image.FileName))); } var defaultProfilePic = "/assets/ProfilePics/avatar-template.png"; if (String.IsNullOrWhiteSpace(pPic)) { pPic = defaultProfilePic; } user.FirstName = model.FirstName; user.LastName = model.LastName; user.ProfilePic = pPic; UserManager.Update(user); return(RedirectToAction("Index", new { Message = ManageMessageId.ChangeUserInfoSuccess })); } return(View(model)); }
public ActionResult ChangeUserInfo() { ChangeUserInfoViewModel model = new ChangeUserInfoViewModel(); model.FirstName = UserManager.FindById(User.Identity.GetUserId()).FirstName; //model.PasswordHash = UserManager.FindById(User.Identity.GetUserId()).PasswordHash; return(View(model)); }
public ActionResult ChangeUserInfo(ChangeUserInfoViewModel model) { var user = UserManager.FindById(User.Identity.GetUserId()); user.FirstName = model.FirstName; UserManager.Update(user); return(RedirectToAction("Index", "Home")); }
public async Task <IActionResult> ChangeUserInfo(ChangeUserInfoViewModel model) { if (!await _userService.ChangeUserInfo(model, _userId)) { return(Ok("用户名已存在")); } return(NoContent()); }
public ActionResult ChangeUserInfo() { var request = new RequestEntity { UserId = User.Identity.GetUserId() }; var response = _userService.GetUserInfo(request);; ChangeUserInfoViewModel model = MapperHelper.GetValue <User, ChangeUserInfoViewModel>(response); return(View(model)); }
public async Task <IActionResult> ChangeUserInfo() { User currentUser = await _userManager.FindByNameAsync(User.Identity.Name); ChangeUserInfoViewModel model = new ChangeUserInfoViewModel { DateOfBirth = currentUser.DateOfBirth, FullName = currentUser.FullName }; //Changge props like FirstName LastName Age and etc return(View()); }
public async Task <IActionResult> ChangeUserInfo(ChangeUserInfoViewModel model, string returnUrl = null) { if (!ModelState.IsValid) { return(View(model)); } var user = await _userManager.GetUserAsync(User); if (user == null) { throw new ApplicationException($"无法获取当前用户Id'{_userManager.GetUserId(User)}'."); } string imageSave = string.Empty; if (model.Image != null) { imageSave = SaveImage(model.Image); } if (!string.IsNullOrEmpty(model.UserName) && !user.UserName.Equals(model.UserName)) { user.UserName = model.UserName; user.NormalizedUserName = model.UserName; } if (!string.IsNullOrEmpty(model.Email) && !user.Email.Equals(model.Email)) { user.Email = model.Email; user.NormalizedEmail = model.Email; } //if (!string.IsNullOrEmpty(model.PhoneNumber) && !user.PhoneNumber.Equals(model.PhoneNumber)) //{ // user.PhoneNumber = model.PhoneNumber; //} user.PhoneNumber = model.PhoneNumber; if (!string.IsNullOrEmpty(imageSave)) { user.Image = imageSave; } if (!string.IsNullOrEmpty(model.Introduce)) { user.Introduce = model.Introduce; } //_user.Update(user); await _userManager.UpdateAsync(user); return(RedirectToLocal(returnUrl)); }
/// <summary> /// 修改用户信息 /// </summary> /// <param name="model"></param> /// <param name="userId"></param> /// <returns></returns> public async Task <bool> ChangeUserInfo(ChangeUserInfoViewModel model, Guid userId) { //确保用户名唯一 if (await _userRepository.GetAll().AnyAsync(m => m.Account == model.Account)) { return(false); } var user = await _userRepository.GetOneByIdAsync(userId); user.Account = model.Account; user.Gender = model.Gender; user.BirthOfDate = model.BirthOfDate; await _userRepository.EditAsync(user); return(true); }
public ActionResult ChangeUserInfo(ChangeUserInfoViewModel model) { if (ModelState.IsValid) { string userId = User.Identity.GetUserId(); _logger.Info("User {0} requested to change info", userId); model.UserId = userId; var request = MapperHelper.GetValue <ChangeUserInfoViewModel, User>(model); _userService.UpdateUserInfo(request); return(RedirectToAction("Index", new { Message = ManageMessageId.ChangeInfoSuccess })); } return(View(model)); }
//GET: /Manage/UpdateInformation public ActionResult ChangeUserInfo() { var user = UserManager.FindById(User.Identity.GetUserId()); if (user.UserName == "*****@*****.**") { return(RedirectToAction("ChangesNotAuthorized")); } ChangeUserInfoViewModel model = new ChangeUserInfoViewModel(); model.FirstName = user.FirstName; model.LastName = user.LastName; model.ProfilePic = user.ProfilePic; return(View(model)); }
public virtual ActionResult ChangeUserInfoViewModel() { var user = _userManager.FindById(User.Identity.GetUserId <int>()); var model = new ChangeUserInfoViewModel { Miasto = user.City ?? "Nie podano", Email = user.Email, LastName = user.LastName ?? "Nie podano", Name = user.Name ?? "Nie podano", Numer = user.Number ?? "Nie podano", Telefon = user.PhoneNumber ?? "Nie podano", KodPocztowy = user.PostalCode ?? "Nie podano", Ulica = user.Street ?? "Nie podano", Success = null }; return(PartialView("_ChangeUserInfoViewModel", model)); }
public async Task <IActionResult> ChangeUserInfo() { var user = await _userManager.GetUserAsync(User); if (user == null) { throw new ApplicationException($"无法获取当前用户Id'{_userManager.GetUserId(User)}'."); } var model = new ChangeUserInfoViewModel { UserName = user.UserName, Email = user.Email, PhoneNumber = user.PhoneNumber, Introduce = user.Introduce }; return(View(model)); }
public async Task <IActionResult> ChangeUserInfo(ChangeUserInfoViewModel model) { if (ModelState.IsValid) { User user = _chatRepo.GetUserByName(User.Identity.Name); if (user != null) { if (!_chatService.IsValidUserInfo(model.FirstName, model.LastName)) { ModelState.AddModelError(string.Empty, $"Invalid FirstName or LastName"); } await _chatRepo.ChangeUserInfo(user, model.FirstName, model.LastName, model.AvatarUrl); return(RedirectToAction("IM")); } else { ModelState.AddModelError(string.Empty, $"Cannot find user with username {User.Identity.Name}"); } } return(View(model)); }
public IHttpActionResult ChangeAccountInfo([FromBody] ChangeUserInfoViewModel model) { if (!ModelState.IsValid) { throw new Exception(ConvertToErrorMessage(ModelState)); } var currentUser = Storage.Users.GetById(CurrentUser.UserId); if (currentUser.PasswordHash != PasswordUtil.GetHash(model.OldPassword)) { throw new Exception("Старый пароль не верный"); } currentUser.Email = model.Email; currentUser.Name = model.Email.Split('@')[0]; currentUser.PasswordHash = PasswordUtil.GetHash(model.NewPassword); Storage.Users.Save(currentUser); return(Ok()); }