public ActionResult ChangeUserData(ChangeUserDataViewModel userprofile) { if (ModelState.IsValid) { try { string userId = User.Identity.GetUserId(); ApplicationUser user = context.Users.FirstOrDefault(u => u.Id.Equals(userId)); user.UserName = userprofile.Email; user.Email = user.UserName; user.Nickname = userprofile.Nickname; user.Information = userprofile.Information; user.Searchable = userprofile.Searchable; context.Entry(user).State = EntityState.Modified; context.SaveChanges(); return(RedirectToAction("UserProfile", "Account")); } catch (Exception) { TempData["SQLFailMSG"] = "<script>alert('The desired email-address is already used by another user. Please try another email-address');</script>"; return(View(userprofile)); } } return(View(userprofile)); }
/// <summary> /// Zapisuje nowe dane użytkownika. /// </summary> /// <param name="context">Kontekst bazy danych</param> /// <param name="username">Nazwa użytkownika</param> /// <param name="model">Model z nowymi danymi</param> /// <returns>True, jeśli zapis się powiódł, false w przypadku błędu.</returns> public bool SaveUserData(IAccommodationContext context, string username, ChangeUserDataViewModel model) { try { var user = context.Users.FirstOrDefault(u => u.Username.Equals(username)); if (user == null) { return(false); } var data = context.UserData.FirstOrDefault(ud => ud.Id == user.UserDataId); if (data == null) { return(false); } data.Email = model.Email; data.CompanyName = model.CompanyName; data.FirstName = model.FirstName; data.LastName = model.LastName; context.SaveChanges(); return(true); } catch (Exception) { return(false); } }
public async Task <ActionResult> ChangeUserData(ChangeUserDataViewModel model) { ApplicationUser user = await UserManager.FindByNameAsync(User.Identity.Name); if (user != null) { user.FirstName = model.FirstName; user.LastName = model.LastName; user.Country = model.Country; user.City = model.City; user.Gender = model.Gender; user.BirthDate = model.BirthDate; user.YourSelfDescription = model.YourSelfDescription; IdentityResult result = await UserManager.UpdateAsync(user); if (result.Succeeded) { return(RedirectToAction("Index", new { Message = ManageMessageId.UserProfileUpdated })); } else { ModelState.AddModelError("", "Something wrong"); } } else { ModelState.AddModelError("", "User not found"); } return(View(model)); }
public async Task <IActionResult> Info(ChangeUserDataViewModel model) { if (ModelState.IsValid) { var curUser = _userManager.Users.Single(w => w.Id == GetCurrentUserIdAsync()); if (!string.IsNullOrEmpty(model.Name)) { curUser.name = model.Name; } if (!string.IsNullOrEmpty(model.Phone)) { curUser.PhoneNumber = model.Phone; } if (!string.IsNullOrEmpty(model.Email)) { if (_userManager.Users.Any(a => a.NormalizedEmail == model.Email.ToUpper())) { ModelState.AddModelError(model.Email, "Email already in use"); ModelState.AddModelError(String.Empty, "Email already in use"); } else { curUser.Email = model.Email; curUser.NormalizedEmail = model.Email.ToUpper(); } } await _userManager.UpdateAsync(curUser); } return(View(model)); }
public async Task <ActionResult> ChangeUserData(ChangeUserDataViewModel model) { if (ModelState.IsValid) { if (!await _userDataAccessor.SaveUserDataAsync(Context, HttpContext.User?.Identity?.Name, model)) { ModelState.AddModelError("", "Nie udało się zapisać nowych danych"); } return(RedirectToAction("ViewProfile", "Manage")); } return(View(model)); }
public IActionResult Info() { var curUser = _userManager.Users.Single(w => w.Id == GetCurrentUserIdAsync()); var userModel = new ChangeUserDataViewModel { Email = curUser.Email, Phone = curUser.PhoneNumber, Name = curUser.name }; return(View(userModel)); }
private void UpdatePhoto(ChangeUserDataViewModel model) { var userId = User.Identity.GetUserId(); var user = this.Data.Users.All().FirstOrDefault(u => u.Id == userId); user.Email = model.Email; user.UserLevelId = model.UserLevelId; user.Gender = model.Gender; user.FirstName = model.FirstName; user.LastName = model.LastName; user.ImageURL = model.ImageURL; this.Data.Users.Update(user); this.Data.SaveChanges(); }
// // GET: /Account/ChangeUserData public ActionResult ChangeUserData() { var db = new ApplicationDbContext(); string userId = User.Identity.GetUserId(); ApplicationUser user = db.Users.FirstOrDefault(u => u.Id.Equals(userId)); ChangeUserDataViewModel model = new ChangeUserDataViewModel(); model.Email = user.UserName; model.Nickname = user.Nickname; model.Information = user.Information; return(View(model)); }
public async Task <ResultDto <EmptyDto> > ChangeUserData(ChangeUserDataViewModel viewModel, int UserId) { var result = new ResultDto <EmptyDto>(); var user = _usersRepository.GetBy(x => x.Id == UserId); if (viewModel.Username != null) { bool isOtherUserHaveTheSameUsername = _usersRepository.Exist(x => x.Username == viewModel.Username); if (isOtherUserHaveTheSameUsername) { result.Errors.Add("Ta nazwa użytkownika jest już zajęta"); return(result); } } var newUser = _mapper.Map(viewModel, user); if (viewModel.NewPassword != null && viewModel.OldPassword != null) { if (user.PasswordHash != GetHash(viewModel.OldPassword)) { result.Errors.Add("Stare hasło jest nieprawidłowe"); return(result); } if (user.PasswordHash == GetHash(viewModel.NewPassword)) { result.Errors.Add("Nowe hasło jest takie same jak stare"); return(result); } newUser.PasswordHash = GetHash(viewModel.NewPassword); } int isUpdated = await Task.Run(() => _usersRepository.Update(newUser)); if (isUpdated == 0) { result.Errors.Add("Wystapił błąd podczas zapisywania zmian"); } return(result); }
public async Task <IActionResult> ChangeUserData([FromBody] ChangeUserDataViewModel viewModel) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } int userId = Convert.ToInt32(User.Claims.FirstOrDefault(x => x.Type == ClaimTypes.Sid).Value); var result = await _userService.ChangeUserData(viewModel, userId); if (result.IsError) { return(BadRequest(result)); } return(Ok(result)); }
public ActionResult ChangeUserData(ChangeUserDataViewModel model) { if (ModelState.IsValid) { var photo = WebImage.GetImageFromRequest(); if (photo != null) { var fileName = Path.GetFileName(photo.FileName); var fileSavePath = Server.MapPath(VIRTUAL_PATH + fileName); // Delete path for an old image var fileDeletePath = Server.MapPath(model.ImageURL); photo.Save(fileSavePath); model.ImageURL = VIRTUAL_PATH + fileName; try { UpdatePhoto(model); // Delete an old image. System.IO.File.Delete(fileDeletePath); return(RedirectToAction("Index")); } catch (Exception) { if (System.IO.File.Exists(fileSavePath)) { System.IO.File.Delete(fileSavePath); } } } else { UpdatePhoto(model); return(RedirectToAction("Index")); } } return(View(model)); }
public async Task <ActionResult> ChangeUserData() { //supposedly find by mail, coz default in identity user = mail ApplicationUser user = await UserManager.FindByNameAsync(User.Identity.Name); if (user != null) { ChangeUserDataViewModel model = new ChangeUserDataViewModel { FirstName = user.FirstName, LastName = user.LastName, Country = user.Country, City = user.City, Gender = user.Gender, BirthDate = user.BirthDate, YourSelfDescription = user.YourSelfDescription }; return(View(model)); } return(RedirectToAction("Index", "Home")); }
public ActionResult ChangeUserData(ChangeUserDataViewModel userprofile) { if (ModelState.IsValid) { var db = new ApplicationDbContext(); string userId = User.Identity.GetUserId(); ApplicationUser user = db.Users.FirstOrDefault(u => u.Id.Equals(userId)); user.UserName = userprofile.Email; user.Email = user.UserName; user.Nickname = userprofile.Nickname; user.Information = userprofile.Information; db.Entry(user).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("UserProfile", "Account")); } return(View(userprofile)); }
/// <summary> /// Asynchronicznie zapisuje nowe dane użytkownika. /// </summary> /// <param name="context">Kontekst bazy danych</param> /// <param name="username">Nazwa użytkownika</param> /// <param name="model">Model z nowymi danymi</param> /// <returns>True, jeśli zapis się powiódł, false w przypadku błędu.</returns> public async Task <bool> SaveUserDataAsync(IAccommodationContext context, string username, ChangeUserDataViewModel model) { return(await Task.Run(() => SaveUserData(context, username, model))); }