public async Task <IActionResult> Register(RegisterViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var result = await _userRoleRepo.RegisterUser(model);

            if (result.IdentityResult.Succeeded)
            {
                await _userRoleRepo.CreateRoles();

                await _userRoleRepo.AddRole(result.User);

                return(RedirectToAction(nameof(Login)));
            }
            else
            {
                var errorMsg = "";
                foreach (var error in result.IdentityResult.Errors)
                {
                    errorMsg += error.Description;
                }

                ModelState.AddModelError(String.Empty, errorMsg);
                return(View(model));
            }
        }
Esempio n. 2
0
        public async Task <IActionResult> Register(RegisterViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var result = await _userRoleRepo.RegisterUser(model);

            var uri = new UriBuilder()
            {
                Scheme = Uri.UriSchemeHttps
            };
            var    hostComponents = Request.Host.ToUriComponent();
            string SiteUrl        = uri.Scheme + System.Uri.SchemeDelimiter + hostComponents;


            if (result.IdentityResult.Succeeded)
            {
                await _userRoleRepo.CreateRoles();

                await _userRoleRepo.AddRole(result.User);

                await _userRoleRepo.SendActivationMail(SiteUrl, result);

                TempData["Message"] = "Kaydınız alınmıştır. Lütfen giriş yapınız ve Mailinizi kontrol ediniz.s";
                return(RedirectToAction(nameof(Login)));
            }
            else
            {
                var errorMsg = "";
                foreach (var error in result.IdentityResult.Errors)
                {
                    errorMsg += error.Description;
                }

                ModelState.AddModelError(String.Empty, errorMsg);
                return(View(model));
            }
        }