private void SyncAspNetUserWithApplication(RegisterModel userData, AzureMathDbContext context) { if (context.Users.Any(u => u.UserName == userData.UserName)) { User user = context.Users.First(u => u.UserName == userData.UserName); user.EmailAddress = userData.Email; user.FirstName = userData.FirstName; user.LastName = userData.LastName; user.LastLogonTime = DateTime.Now; context.SaveChanges(); } else { User user = new User(); user.UserName = userData.UserName; user.EmailAddress = userData.Email; user.FirstName = userData.FirstName; user.LastName = userData.LastName; user.LastLogonTime = DateTime.Now; context.Users.Add(user); context.SaveChanges(); } }
public ActionResult Register(RegisterModel model) { if (ModelState.IsValid) { // Attempt to register the user MembershipCreateStatus createStatus; Membership.CreateUser(model.UserName, model.Password, model.Email, null, null, true, null, out createStatus); SyncAspNetUserWithApplication(model, new AzureMathDbContext()); if (createStatus == MembershipCreateStatus.Success) { FormsAuthentication.SetAuthCookie(model.UserName, false /* createPersistentCookie */); return RedirectToAction("Index", "Home"); } else { ModelState.AddModelError("", ErrorCodeToString(createStatus)); } } // If we got this far, something failed, redisplay form return View(model); }