Exemple #1
0
        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));
            }
        }
Exemple #2
0
        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));
            }
        }
Exemple #3
0
        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"));
            }
        }