public ActionResult Save() { using (Db db = new Db()) { //user loggedIn string username = User.Identity.Name; var UserInDb = db.Users.SingleOrDefault(u => u.UserName == username); UserDto Userdto = new UserDto() { Id = UserInDb.Id, FirstName = UserInDb.FirstName, EmailAddress = UserInDb.EmailAddress, LastName = UserInDb.LastName, MembershipTypeId = UserInDb.MembershipTypeId, Password = UserInDb.Password, UserName = UserInDb.UserName }; UserRegisterFormVM vm = new UserRegisterFormVM() { user = Userdto, MembershipTypes = db.MembershipTypes.ToList() }; return(View("CreateAccount", vm)); } }
public ActionResult CreateAccount() { using (Db db = new Db()) { var membershipTypes = db.MembershipTypes.ToList(); UserRegisterFormVM ViewModel = new UserRegisterFormVM() { MembershipTypes = membershipTypes, user = new UserDto() }; return(View(ViewModel)); } }
public ActionResult Save(UserRegisterFormVM viewmodel) { using (Db db = new Db()) { viewmodel.MembershipTypes = db.MembershipTypes.ToList(); if (!ModelState.IsValid) { return(View("CreateAccount", viewmodel)); } if (!viewmodel.user.Password.Equals(viewmodel.user.ConfirmPassword)) { ModelState.AddModelError("", "Passwords don't match"); return(View("CreateAccount", viewmodel)); } if (db.Users.Any(x => x.UserName.Equals(viewmodel.user.UserName))) { ModelState.AddModelError("", "Username" + viewmodel.user.UserName + " is taken"); viewmodel.user.UserName = ""; return(View("CreateAccount", viewmodel)); } if (viewmodel.user.Id == 0) { User userToCreate = new User(); userToCreate.FirstName = viewmodel.user.FirstName; userToCreate.EmailAddress = viewmodel.user.EmailAddress; userToCreate.LastName = viewmodel.user.LastName; userToCreate.MembershipTypeId = viewmodel.user.MembershipTypeId; userToCreate.Password = viewmodel.user.Password; userToCreate.UserName = viewmodel.user.UserName; //userroles here before db.Users.Add(userToCreate); db.SaveChanges(); int id = userToCreate.Id; UserRole userRolesDTO = new UserRole() { UserId = id, RoleId = 2 }; db.UserRoles.Add(userRolesDTO); db.SaveChanges(); } else { var userInDb = db.Users.Single(u => u.Id == viewmodel.user.Id); userInDb.FirstName = viewmodel.user.FirstName; userInDb.EmailAddress = viewmodel.user.EmailAddress; userInDb.LastName = viewmodel.user.LastName; userInDb.MembershipTypeId = viewmodel.user.MembershipTypeId; userInDb.Password = viewmodel.user.Password; userInDb.UserName = viewmodel.user.UserName; db.SaveChanges(); } return(Redirect("~/account/login")); } }