コード例 #1
0
ファイル: AccountController.cs プロジェクト: IPenkov/OnLeave
        public async Task<ActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new User()
                {
                    FirstName = model.FirstName,
                    LastName = model.LastName,
                    UserName = model.Email,
                    Email = model.Email,
                    Telephone = model.Telephone
                };

                var userExist = await UserManager.FindByNameAsync(user.UserName);
                if (userExist != null)
                {
                    ModelState.AddModelError(
                        model.GetPropertyName(() => model.Email),
                        "Email already exists");

                    return View(model);
                }

                var result = await UserManager.CreateAsync(user, model.Password);
                if (result.Succeeded)
                {
                    await SignInAsync(user, isPersistent: false);
                    return RedirectToAction("Success", "Account");
                }
                else
                {  
                    AddErrors(result);
                }
            }

            // If we got this far, something failed, redisplay form
            return View(model);
        }