コード例 #1
0
        public async Task<ActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser { UserName = model.Email, Email = model.Email };
                var result = await UserManager.CreateAsync(user, model.Password);
                if (result.Succeeded)
                {

                    var eres = new AuthorRepository().Create(new Author
                    {
                        Active = true,
                        EMail = user.Email,
                        UserGuid = user.Id
                    });

                    if (eres == Enum.EntityResult.Failed)
                    {
                        await UserManager.DeleteAsync(user);

                    }
                    else
                    {
                        await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false);

                        // For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771
                        // Send an email with this link
                        string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
                        var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                        await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>");

                        return RedirectToAction("Index", "Home");
                    }

                }
                AddErrors(result);
            }

            // If we got this far, something failed, redisplay form
            return View(model);
        }
コード例 #2
0
        public ActionResult Create(RegisterViewModel model)
        {
            if (!ModelState.IsValid) { this.AddToastMessage("", "Alanları kontrol ediniz.", Enum.ToastrType.Warning); return View(model); }
            var user = new ApplicationUser { UserName = model.Email, Email = model.Email };
            var result = UserManager.Create(user, model.Password);
            if (result.Succeeded)
            {
                var res = new AuthorRepository().Create(new Author
                {
                    Active = true,
                    EMail = user.Email,
                    UserGuid = user.Id,
                    Name = model.Name,
                    Surname = model.Surname,
                    DateofBirth = model.DateofBirth
                });

                if (res == Enum.EntityResult.Failed)
                {
                    UserManager.Delete(user);
                }
                else
                {
                    this.AddToastMessage("", "Kullanıcı oluşturuldu.", Enum.ToastrType.Success);
                    return RedirectToAction("Index");
                }
            }

            AddErrors(result);
            return View(model);
        }