public ActionResult Register() { RegisterModel vm = new RegisterModel(); List<AccountType> types = _uow.AccountTypes.GetAll().ToList(); vm.AccountTypesList = types; return View(vm); }
public ActionResult Register(RegisterModel model) { if (ModelState.IsValid) { // Попытка зарегистрировать пользователя try { // Регаем пользователя int userId = MembershipUtils.CreateUser(model.UserName, model.Password, "User"); // Тип аккаунта AccountType aType = _uow.AccountTypes.GetAll().FirstOrDefault(t => t.Code == model.AccountTypeCode); if(aType == null) { throw new Exception("Неверный тип пользователя"); } // Заполняем профиль UserProfile user = _uow.UserProfiles.GetById(userId); user.FirstName = model.FirstName; user.Surname = model.Surname; user.LastName = model.LastName; user.Phone = model.Phone; user.MobilePhone = model.MobilePhone; user.Email = model.Email; user.PassPhrase = model.PassPhrase; user.AccountType = aType; user.IsMainAccount = true; _uow.SaveChanges(); // Авторизуемся MembershipUtils.Login(model.UserName, model.Password); return RedirectToAction("Index", "Home"); } catch (MembershipCreateUserException e) { ModelState.AddModelError("", ErrorCodeToString(e.StatusCode)); } } // Появление этого сообщения означает наличие ошибки; повторное отображение формы return View(model); }