public async Task <IActionResult> Register(AppUserRegisterDto 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 addRoleResult = await _userManager.AddToRoleAsync(user, "Member");

                    if (addRoleResult.Succeeded)
                    {
                        return(RedirectToAction("Index"));
                    }
                    AddError(addRoleResult.Errors);
                }

                AddError(result.Errors);
            }

            return(View(model));
        }
        public async Task <IActionResult> Register(AppUserRegisterDto appUserRegisterDto)
        {
            if (ModelState.IsValid)
            {
                var user = await _userManager.FindByEmailAsync(appUserRegisterDto.Email);

                if (user == null)
                {
                    var newUser = new AppUser()
                    {
                        Firstname = appUserRegisterDto.Name,
                        Lastname  = appUserRegisterDto.Lastname,
                        Email     = appUserRegisterDto.Email,
                        UserName  = appUserRegisterDto.Email
                    };
                    var result = await _userManager.CreateAsync(newUser, appUserRegisterDto.Password);

                    if (result.Succeeded)
                    {
                        return(View("Login"));
                    }
                    foreach (var item in result.Errors)
                    {
                        ModelState.AddModelError("", item.Description);
                    }
                }
                ModelState.AddModelError("", "Kullanıcı sistemde zaten kayıtlı!");
            }
            return(View(appUserRegisterDto));
        }
Exemple #3
0
        public async Task <IActionResult> Login([FromBody] AppUserRegisterDto appUserRegisterDto)
        {
            var appUser = await _service.Login(appUserRegisterDto.UserName.ToLower(), appUserRegisterDto.Password);

            if (appUser == null)
            {
                return(Unauthorized());
            }

            //generate token
            var tokenHandler    = new JwtSecurityTokenHandler();
            var key             = Encoding.ASCII.GetBytes(_config.GetSection("AppSettings:Token").Value);
            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject = new ClaimsIdentity(new Claim[] {
                    new Claim(ClaimTypes.NameIdentifier, appUser.ID.ToString()),
                    new Claim(ClaimTypes.Name, appUser.Username)
                }),
                Expires            = DateTime.Now.AddDays(1),
                SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha512Signature)
            };

            var token       = tokenHandler.CreateToken(tokenDescriptor);
            var tokenString = tokenHandler.WriteToken(token);

            return(Ok(new { tokenString }));
        }
        public async Task <IActionResult> Register(AppUserRegisterDto model)
        {
            if (ModelState.IsValid)
            {
                AppUser appUser = new AppUser()
                {
                    FirstName = model.FirstName,
                    Lastaname = model.Lastaname,
                    Age       = model.Age,
                    Email     = model.Email,
                    UserName  = model.Username,
                };

                var result = await _userManager.CreateAsync(appUser, model.Password);

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

                    if (role.Succeeded)
                    {
                        return(RedirectToAction("/Home/Login"));
                    }

                    else
                    {
                        foreach (var item in role.Errors)
                        {
                            ModelState.AddModelError("", item.Description);
                        }
                    }
                }

                else
                {
                    foreach (var item in result.Errors)
                    {
                        ModelState.AddModelError("", item.Description);
                    }
                }
            }



            return(View());
        }
Exemple #5
0
        public async Task <IActionResult> Register(AppUserRegisterDto model)
        {
            if (ModelState.IsValid)
            {
                var user   = _mapper.Map <AppUser>(model);
                var result = await _userManager.CreateAsync(user, model.Password);

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

                    var code = await _userManager.GenerateEmailConfirmationTokenAsync(user);

                    var url = Url.Action("ConfirmAccount", "Dashboard", new { Area = "", userId = user.Id, token = code });
                    await _emailSender.EmailSenderAsycn(model.Email, $"Hesap Doğrulama", $"Lütfen hesabınızı onaylamak için <a href='websiteadress{url}'>buraya</a> tıklayınız!");


                    return(RedirectToAction("Index", "User", new { area = "Admin" }));
                }
            }
            return(View(model));
        }
Exemple #6
0
        public async Task <IActionResult> Register([FromBody] AppUserRegisterDto appUserRegisterDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            appUserRegisterDto.UserName = appUserRegisterDto.UserName.ToLower();

            if (await _service.UserExsists(appUserRegisterDto.UserName))
            {
                return(BadRequest("Username is already taken"));
            }
            else
            {
                var userToCreate = new AppUser
                {
                    Username = appUserRegisterDto.UserName
                };

                var createUser = await _service.Register(userToCreate, appUserRegisterDto.Password);
            }
            return(StatusCode(201));
        }
        public IActionResult Register()
        {
            var model = new AppUserRegisterDto();

            return(View(model));
        }