public async Task <IActionResult> EditUserInfo(EditUserInfoViewModel viewModel) { if (ModelState.IsValid) { var user = await _userManager.FindByIdAsync(viewModel.Id); if (user != null) { user.City = viewModel.City; user.Email = viewModel.Email; user.FirstName = viewModel.FirstName; user.LastName = viewModel.LastName; user.PhoneNumber = viewModel.PhoneNumber; user.PostCode = viewModel.PostCode; user.StreetName = viewModel.StreetName; user.StreetNumber = viewModel.StreetNumber; var result = await _userManager.UpdateAsync(user); if (result.Succeeded) { return(RedirectToAction("UserPage")); } foreach (var error in result.Errors) { ModelState.AddModelError("", error.Description); } } } return(View(viewModel)); }
public EditUserInfoPage() { InitializeComponent(); editUserInfoViewModel = new EditUserInfoViewModel(); BindingContext = editUserInfoViewModel; }
//public void UpdateCompanyCapacities(UserCompanyEditViewModel vm) //{ // var user = Users.Find(vm.Id); // Mapper.Map(vm, user); // Users.Update(user); // _context.SaveChanges(); //} public void UpdateUser(EditUserInfoViewModel vm) { var user = Users.Find(vm.Id); Mapper.Map(vm, user); Users.Update(user); _context.SaveChanges(); }
public async Task <IActionResult> EditUserInfo(EditUserInfoViewModel model) { var user = await _userManager.GetUserAsync(User); if (user == null) { await _signInManager.SignOutAsync(); _notice.AddErrors(ModelState); return(View(model)); } var emailToMakePrimary = _userManager.NormalizeKey(model.Email); var userLogins = await _userManager.GetLoginsAsync(user); model.Logins = userLogins; // Since model binding doesn't work with IList if (!ModelState.IsValid) { return(View(model)); } user.UserName = model.UserName; user.FullName = model.FullName; user.SendCodesViaSms = model.SendCodesViaSms; user.MobileNumber = model.MobileNumber; // If the user's email is confirmed (ie. local login) and they provided a different email that exists, set it to the primary if (user.EmailConfirmed && user.NormalizedEmail != emailToMakePrimary && userLogins.Any(l => l.LoginProvider == "Email" && l.ProviderKey == emailToMakePrimary)) { user.Email = emailToMakePrimary; } // Update sumbitted user info, including changing email if required var updateResult = await _userManager.UpdateAsync(user); if (!updateResult.Succeeded) { _notice.AddErrors(ModelState, updateResult); return(View(model)); } await _events.AddEvent(AuthEventType.EditUserInfo, JsonConvert.SerializeObject(model), user); await _signInManager.RefreshSignInAsync(user); return(_notice.Success(this, "Your profile has been updated.")); }
public ActionResult PartialEditUserInfo(string id) { EditUserInfoViewModel model = new EditUserInfoViewModel(); DataTable dt = CMSService.SelectOne("User", "CMSUser", "UserId=" + id); foreach (DataRow dr in dt.Rows) { UserDto dto = new UserDto(); dto = UserMapping.getDTO(dr); model.UserId = dto.UserId; model.UserName = dto.UserName; model.UserRealName = dto.UserRealName; model.UserSex = dto.UserSex; model.UserBirthday = dto.UserBirthday.ToShortDateString(); } ViewData["Sex"] = MyService.GetSexSelectList(); return(View(model)); }
public ActionResult SaveEditInfo([Bind(Exclude = "UserPhoto")] ApplicationUser user) { var _context = HttpContext.GetOwinContext().Get <ApplicationDbContext>(); // get the current user var currentUser = _context.Users.Single(x => x.Id == user.Id); if (!ModelState.IsValid) { // load the genders list var genders = _context.Genders.ToList(); var viewModel = new EditUserInfoViewModel { User = currentUser, Genders = genders }; return(View("EditUserInfo", viewModel)); } currentUser.FullName = user.FullName; currentUser.GenderId = user.GenderId; currentUser.Birthdate = user.Birthdate; currentUser.IsSecuredByNHIF = user.IsSecuredByNHIF; // To convert the user uploaded Photo as Byte Array before save to DB byte[] imageData = null; if (Request.Files.Count > 0) { HttpPostedFileBase poImgFile = Request.Files["UserPhoto"]; using (var binary = new BinaryReader(poImgFile.InputStream)) { imageData = binary.ReadBytes(poImgFile.ContentLength); } } currentUser.UserPhoto = imageData; _context.SaveChanges(); return(RedirectToAction("Index", "Home", new { message = "Промените са записани!" })); }
public IActionResult EditUserInfo(EditUserInfoViewModel model) { var userInfo = _userInfoRepo.Read(_userManager.GetUserId(User)); model.DefaultAvatarPath = _config.GetValue <string>("FileUploadSettings:DefaultAvatarImgFilePath"); if (ModelState.IsValid) { var result = FileProcessing.UploadAvatarPng(model.AvatarImage, _userManager.GetUserName(User), this, _config, _webHostEnvironment); if (result != null) { model.AvatarImgPath = result; // Render on page userInfo.AvatarImgPath = result; //Save in DB } else { model.AvatarImgPath = userInfo.AvatarImgPath; } userInfo.FirstName = model.FirstName; userInfo.MiddelName = model.MiddleName; userInfo.LasttName = model.LastName; userInfo.Summary = model.Summary; //userInfo.MainText = model.MainText; //userInfo.AvailableForContact = model.AvailableForContact; _userInfoRepo.Update(userInfo); return(View(model)); } model = new EditUserInfoViewModel { AvatarImgPath = userInfo.AvatarImgPath, Summary = userInfo.Summary, UserName = _userManager.GetUserName(User) //MainText = userInfo.MainText, //AvailableForContact = userInfo.AvailableForContact }; return(View(model)); }
public IActionResult EditUserInfo() { var userInfo = _userInfoRepo.Read(_userManager.GetUserId(User)); // For sec reason it is recommended we create a ViewModel only exposing the properties we want to edit var model = new EditUserInfoViewModel { UserName = _userManager.GetUserName(User), FirstName = userInfo.FirstName, MiddleName = userInfo.MiddelName, LastName = userInfo.LasttName, AvatarImgPath = userInfo.AvatarImgPath, Summary = userInfo.Summary, //MainText = userInfo.MainText, //AvailableForContact = userInfo.AvailableForContact }; model.DefaultAvatarPath = _config.GetValue <string>("FileUploadSettings:DefaultAvatarImgFilePath"); return(View(model)); }
public ActionResult EditUserInfo(EditUserInfoViewModel model) { UserDto dto = new UserDto(); DataTable dt = CMSService.SelectOne("User", "CMSUser", "UserId=" + model.UserId); foreach (DataRow dr in dt.Rows) { dto = UserMapping.getDTO(dr); // dto.UserRoles = Request.Form["UserRoles"]; dto.UserBirthday = DateTime.Parse(model.UserBirthday); dto.UserRealName = model.UserRealName; dto.UserSex = model.UserSex; } string JsonString = JsonHelper.JsonSerializerBySingleData(dto); Message msg = CMSService.Update("User", JsonString); // TODO: Add update logic here return(RedirectToAction("UserInfo")); }
public async Task <IActionResult> EditUserInfo(string returnUrl = null) { ViewData["ReturnUrl"] = returnUrl; var user = await GetCurrentUserAsync(); if (user == null) { return(View("Error")); } var model = new EditUserInfoViewModel { Email = await _userManager.GetEmailAsync(user), UserName = await _userManager.GetUserNameAsync(user), FirstName = user.FirstName, LastName = user.LastName }; return(View(model)); }
public async Task <IActionResult> Edit(EditUserInfoViewModel model) { if (!User.IsInRole(Roles.Administrator) && User.Identity.Name != model.CurrentName) { return(Content("Access Denied!")); } User user = new Models.User(); if (ModelState.IsValid) { if (model.NewName != model.CurrentName) { user = _dbContext.User.SingleOrDefault(u => u.Name == model.NewName); if (user != null) { ModelState.AddModelError("", "The new name chosen already exists"); return(View("Edit", model)); } } user = _dbContext.User.SingleOrDefault(u => u.Name == model.CurrentName); if (user == null) { return(Content($"User '{model.CurrentName}' not found!")); } user.Name = model.NewName; user.Description = model.Description; user.IsAdministrator = model.IsAdministrator; user.IsLocked = model.IsLocked; _dbContext.User.Update(user); await _dbContext.SaveChangesAsync(); if (model.NewName != model.CurrentName) { await LogOut(); } return(RedirectToAction("Detail", new { name = user.Name })); } return(View("Edit", model)); }
public async Task <ActionResult> Index(EditUserInfoViewModel model) { if (ModelState.IsValid) { var userName = User.Identity.GetUserName(); var user = await UserManager.FindByNameAsync(userName); user.FirstName = model.FirstName; user.LastName = model.LastName; user.DateOfBirth = model.BirthDate; user.Country = model.Country; user.Email = model.Email; if (user.Language != model.Language) { user.Language = model.Language; SetCurrentLanguage(model.Language); } IdentityResult result = await UserManager.UpdateAsync(user); if (result.Succeeded) { return(await Index(ManageMessageId.InformationUpdated)); } AddErrors(result); } var userId = User.Identity.GetUserId(); model.HasPassword = HasPassword(); model.TwoFactor = await UserManager.GetTwoFactorEnabledAsync(userId); model.Logins = await UserManager.GetLoginsAsync(userId); model.BrowserRemembered = await AuthenticationManager.TwoFactorBrowserRememberedAsync(userId); ViewBag.StatusMessage = string.Empty; return(View("Index", model)); }
public IActionResult Edit(string name) { if (!User.IsInRole(Roles.Administrator) && User.Identity.Name != name) { return(Content("Access Denied!")); } User user = _dbContext.User.SingleOrDefault(u => u.Name == name); if (user == null) { return(Content($"User '{name}' not found!")); } var model = new EditUserInfoViewModel { CurrentName = user.Name, NewName = user.Name, Description = user.Description, IsAdministrator = user.IsAdministrator, IsLocked = user.IsLocked }; return(View(model)); }
public async Task <IActionResult> EditUserInfo() { EditUserInfoViewModel model = new EditUserInfoViewModel(); var user = await _userManager.GetUserAsync(HttpContext.User); if (user != null) { model.FirstName = user.FirstName; model.LastName = user.LastName; model.Email = user.Email; model.City = user.City; model.StreetName = user.StreetName; model.StreetNumber = user.StreetNumber; model.PostCode = user.PostCode; model.PhoneNumber = user.PhoneNumber; model.Id = user.Id; return(View(model)); } else { return(RedirectToAction("Index", "Home")); } }
public async Task <IActionResult> EditUserInfo() { var user = await _userManager.GetUserAsync(User); if (user == null) { await _signInManager.SignOutAsync(); return(_notice.Error(this)); } var model = new EditUserInfoViewModel { UserName = user.UserName, Logins = await _userManager.GetLoginsAsync(user), Email = user.Email, EmailConfirmed = user.EmailConfirmed, FullName = user.FullName, NickName = user.NickName }; return(View(model)); }
// // GET: /Manage/Index public async Task <ActionResult> Index(ManageMessageId?message) { ViewBag.StatusMessage = message == ManageMessageId.ChangePasswordSuccess ? Lexicon.YourPasswordHasBeenChanged : message == ManageMessageId.SetPasswordSuccess ? Lexicon.YourPasswordHasBeenSet : message == ManageMessageId.SetTwoFactorSuccess ? "Your two-factor authentication provider has been set." : message == ManageMessageId.Error ? Lexicon.AnErrorHasOccurred : message == ManageMessageId.AddPhoneSuccess ? "Your phone number was added." : message == ManageMessageId.RemovePhoneSuccess ? "Your phone number was removed." : message == ManageMessageId.InformationUpdated ? Lexicon.YourInformationIsSaved : ""; var userId = User.Identity.GetUserId(); var model = new EditUserInfoViewModel { HasPassword = HasPassword(), PhoneNumber = await UserManager.GetPhoneNumberAsync(userId), TwoFactor = await UserManager.GetTwoFactorEnabledAsync(userId), Logins = await UserManager.GetLoginsAsync(userId), BrowserRemembered = await AuthenticationManager.TwoFactorBrowserRememberedAsync(userId) }; var userName = User.Identity.GetUserName(); var user = await UserManager.FindByNameAsync(userName); if (user != null) { model.FirstName = user.FirstName; model.LastName = user.LastName; model.Email = user.Email; model.Country = user.Country; model.BirthDate = user.DateOfBirth; model.Language = user.Language; } return(View(model)); }
public async Task <IActionResult> EditUserInfo() { var user = await _userManager.GetUserAsync(User); if (user == null) { await _signInManager.SignOutAsync(); return(_notice.Error(this)); } var model = new EditUserInfoViewModel { UserName = user.UserName, Logins = await _userManager.GetLoginsAsync(user), Email = user.Email, EmailConfirmed = user.EmailConfirmed, FullName = user.FullName, FavColor = user.FavColor // !! ADDING FIELDS: If you want users to be able to edit field }; return(View(model)); }