protected void Seed(PortfolioContext context) { // Cascade null context.Database.ExecuteSqlCommand(@"IF(OBJECT_ID('Project_Media','F') IS NOT NULL) BEGIN ALTER TABLE Project DROP CONSTRAINT Project_Media END"); context.Database.ExecuteSqlCommand(@"ALTER TABLE Project ADD CONSTRAINT Project_Media FOREIGN KEY (MediaID) REFERENCES Media (ID) ON UPDATE CASCADE ON DELETE SET NULL"); context.Database.ExecuteSqlCommand(@"IF(OBJECT_ID('User_Media','F') IS NOT NULL) BEGIN ALTER TABLE AccountUser DROP CONSTRAINT User_Media END"); context.Database.ExecuteSqlCommand(@"ALTER TABLE AccountUser ADD CONSTRAINT User_Media FOREIGN KEY (MediaID) REFERENCES Media (ID) ON UPDATE CASCADE ON DELETE SET NULL"); // Create myself as a user var user = new AccountUser { FirstName = "Hannah", LastName = "Hamlin", Email = "*****@*****.**", Password = SecurePasswordHasher.Hash("password"), MediaID = null, CreatedAt = TimeStamp.Now(), UpdatedAt = TimeStamp.Now() }; context.AccountUsers.Add(user); context.SaveChanges(); }
public ActionResult Index(AccountUser accountUser, string ReturnUrl) { if (!ModelState.IsValid) { return View(accountUser); } bool isValid = Membership.ValidateUser(accountUser.Email, accountUser.Password); if (!isValid) { ModelState.AddModelError("", "Invalid username or password."); return View(accountUser); } ToMembershipUser user = Membership.GetUser(accountUser.Email, true) as ToMembershipUser; FormsAuthentication.SetAuthCookie(user.Email, false); if (!String.IsNullOrEmpty(ReturnUrl) && ReturnUrl != "/") { return Redirect(ReturnUrl); } var a = HttpContext.User.Identity.IsAuthenticated; return RedirectToAction("Index", "Dashboard"); }
public ActionResult Edit([Bind(Include = "ID,FirstName,LastName,Email,CurrentPassword,NewPassword,ConfirmPassword,MediaID,Media")] EditAccountViewModel accountViewModel) { if (!ModelState.IsValid) { accountViewModel.Media = db.Media.Find(accountViewModel.MediaID); return View(accountViewModel); } string currentPass = accountViewModel.CurrentPassword; if(currentPass != null) { var user = membershipUser.Password; bool isVerified = SecurePasswordHasher.Verify(currentPass, membershipUser.Password); if (!isVerified) { ModelState.AddModelError("CurrentPassword", "Current password incorrect. Cannot update password."); return View(accountViewModel); } } var accountUser = new AccountUser(); MapViewModel(accountUser, accountViewModel); db.Entry(accountUser).State = EntityState.Modified; db.Entry(accountUser).Property("CreatedAt").IsModified = false; db.Entry(accountUser).Property("MediaID").IsModified = false; if (accountViewModel.NewPassword == null) db.Entry(accountUser).Property("Password").IsModified = false; db.SaveChanges(); AccountUserMembershipProvider.UpdateCookie(accountUser.Email); return RedirectToRoute("Dashboard_default"); }
private void MapViewModel(AccountUser accountUser, EditAccountViewModel accountViewModel) { accountUser.ID = accountViewModel.ID; accountUser.FirstName = accountViewModel.FirstName; accountUser.LastName = accountViewModel.LastName; accountUser.Email = accountViewModel.Email; if(accountViewModel.NewPassword != null) accountUser.Password = SecurePasswordHasher.Hash(accountViewModel.NewPassword); accountUser.MediaID = accountViewModel.MediaID; accountUser.Media = accountViewModel.Media; accountUser.UpdatedAt = TimeStamp.Now(); }