public ActionResult ChangeUserBasicInfo() { User user = UserManager.FindById(User.Identity.GetUserId()); UserBasicInfoViewModel model = UserBasicInfoViewModel.ToViewModel(user); return(View(model)); }
public string UpdateUserInfo(UserBasicInfoViewModel model, UserIdentityViewModel cruser) { //var existed = _unitOfWork.UserRepository.All().Where(s => s.DeletedBy == null && s.CompanyId == cruser.CompanyId).Select(s => s.Email).Any(s => s == model.Email); //if (existed) //{ // return "User.EmailDuplicate"; //} var user = _unitOfWork.UserRepository.All().FirstOrDefault(s => s.DeletedBy == null && s.Id == cruser.UserId); user.FirstName = model.FirstName; user.LastName = model.LastName; user.PhoneNumber = model.Phone; //user.Email = model.Email; _unitOfWork.SaveChange(); return(string.Empty); }
public async Task <ActionResult> ChangeUserBasicInfo([Bind(Include = "Email, FirstName, LastName")] UserBasicInfoViewModel model) { if (ModelState.IsValid) { using (ApplicationDbContext db = new ApplicationDbContext()) { User user = db.Users.Where(u => u.UserName == User.Identity.Name).First(); if (user != null) { db.Entry(user).State = EntityState.Modified; string oldUserName = user.UserName; if (oldUserName != model.Email) { user.EmailConfirmed = false; } UserBasicInfoViewModel.ToDomainModel(user, model); db.SaveChanges(); if (oldUserName != model.Email) { var code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id); var callbackUrl = Url.Action( "ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme); await UserManager.SendEmailAsync(user.Id, "Email Confirmation", string.Format(EmailTemplates.ConfirmEmailTemplate, model.FirstName + " " + model.LastName, "<a href=\"" + callbackUrl + "\">link</a>")); } } } return(RedirectToAction("Index")); } return(View(model)); }