Beispiel #1
0
        public async Task <IActionResult> SignUp(AppUserAddViewModel model)
        {
            if (ModelState.IsValid)
            {
                AppUser user = new AppUser
                {
                    UserName = model.Username,
                    Email    = model.Email,
                    Name     = model.Name,
                    Surname  = model.Surname
                };
                var result = await _userManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    var addRoleResult = await _userManager.AddToRoleAsync(user, "Member");

                    if (addRoleResult.Succeeded)
                    {
                        return(RedirectToAction("SignUp"));
                    }
                    foreach (var item in addRoleResult.Errors)
                    {
                        ModelState.AddModelError("", item.Description);
                    }
                }
                foreach (var item in result.Errors)
                {
                    ModelState.AddModelError("", item.Description);
                }
            }
            return(View(model));
        }
Beispiel #2
0
        public async Task <IActionResult> Register(AppUserAddViewModel model)
        {
            if (ModelState.IsValid)
            {
                AppUser user = new AppUser()
                {
                    UserName = model.Userad,
                    Name     = model.ad,
                    Surname  = model.Surad,
                    //PasswordHash = model.Password,
                    Email = model.Email,
                };
                var identityResult = await _userManager.CreateAsync(user, model.Password);

                if (identityResult.Succeeded)
                {
                    var AddRoleResult = await _userManager.AddToRoleAsync(user, "Member");

                    if (AddRoleResult.Succeeded)
                    {
                        return(RedirectToAction("Index"));
                    }
                    foreach (var error in AddRoleResult.Errors)
                    {
                        ModelState.AddModelError("", error.Description);
                    }
                }
                foreach (var error in identityResult.Errors)
                {
                    ModelState.AddModelError("", error.Description);
                }
            }

            return(View(model));
        }
Beispiel #3
0
        public async Task <IActionResult> Register(AppUserAddViewModel model)
        {
            if (ModelState.IsValid)
            {
                AppUser user = new AppUser()
                {
                    UserName  = model.UserName,
                    Email     = model.Email,
                    FirstName = model.FirstName,
                    LastName  = model.LastName,
                };
                var result = await _userManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    var addRoleResult = await _userManager.AddToRoleAsync(user, "Member");

                    if (addRoleResult.Succeeded)
                    {
                        string confirmationToken = await _userManager.GenerateEmailConfirmationTokenAsync(user);

                        string link = Url.Action("ConfirmEmail", "Home", new
                        {
                            userId = user.Id,
                            token  = confirmationToken
                        }, protocol: HttpContext.Request.Scheme);
                        Helper.EmailConfirmation.SendEmail(link, user.Email);

                        //TODO : Email gönderim işlemine bakılacak
                        //// generate token
                        //var code = await _userManager.GenerateEmailConfirmationTokenAsync(user);
                        //code = WebEncoders.Base64UrlEncode(Encoding.UTF8.GetBytes(code));
                        //var callbackUrl = Url.Page("/Home/ConfirmEmail", pageHandler: null, values: new { area = "Identity", userId = user.Id, code = code }, protocol: Request.Scheme);


                        ////email
                        //await _emailSender.SendEmailAsync(model.Email, "Hesabınızı onaylayınız.",
                        //    $"Lütfen email hesabınızı onaylamak için linke <a href='{HtmlEncoder.Default.Encode(callbackUrl)}'>tıklayınız.</a>.");
                        return(RedirectToAction("Index", "Home"));
                    }
                    foreach (var item in addRoleResult.Errors)
                    {
                        ModelState.AddModelError("", item.Description);
                    }
                }
                foreach (var item in result.Errors)
                {
                    ModelState.AddModelError("", item.Description);
                }
            }

            return(View(model));
        }
        public async Task <IActionResult> Register(AppUserAddViewModel model)
        {
            if (ModelState.IsValid)
            {
                AppUser user = new AppUser
                {
                    Name     = model.Name,
                    Surname  = model.Surname,
                    UserName = model.UserName,
                    Email    = model.Email
                };
                var result = await _userManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    var roleResult = await _userManager.AddToRoleAsync(user, "Member");

                    if (roleResult.Succeeded)
                    {
                        return(RedirectToAction("Login"));
                    }
                    else
                    {
                        foreach (var item in roleResult.Errors)
                        {
                            ModelState.AddModelError("", item.Description);
                        }
                    }
                }

                else
                {
                    foreach (var error in result.Errors)
                    {
                        if (error.Code.Equals("DuplicateUserName"))
                        {
                            ModelState.AddModelError("DuplicateUserName", $"{model.UserName} adlı kullanıcı adı zaten alınmış!");
                        }
                        else
                        {
                            ModelState.AddModelError("", error.Description);
                        }
                    }
                }
            }
            return(View(model));
        }
Beispiel #5
0
        public async Task <IActionResult> Register(AppUserAddViewModel model)
        {
            if (ModelState.IsValid)
            {
                AppUser user = new AppUser()
                {
                    UserName  = model.UserName,
                    Email     = model.Email,
                    FirstName = model.FirstName,
                    LastName  = model.LastName,
                };
                var result = await _userManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    var addRoleResult = await _userManager.AddToRoleAsync(user, "Member");

                    if (addRoleResult.Succeeded)
                    {
                        // generate token
                        var code = await _userManager.GenerateEmailConfirmationTokenAsync(user);

                        var url = Url.Action("ConfirmEmail", "Home", new { userId = user.Id, token = code });

                        //email
                        await _emailSender.SendEmailAsync(model.Email, "Hesabınızı onaylayınız.",
                                                          $"Lütfen email hesabınızı onaylamak için linke <a href='http://localhost:50830{url}'>tıklayınız.</a>");

                        return(RedirectToAction("Index", "Home"));
                    }
                    foreach (var item in addRoleResult.Errors)
                    {
                        ModelState.AddModelError("", item.Description);
                    }
                }
                foreach (var item in result.Errors)
                {
                    ModelState.AddModelError("", item.Description);
                }
            }

            return(View(model));
        }