public async Task <IActionResult> Registration(ShopUserDTO model) { ShopUserDTO user = new ShopUserDTO() { UserName = model.UserName, Password = model.Password }; try { var createResult = await _users.CreateUser(user); if (!createResult.Succeeded) { return(BadRequest()); } var roleResult = await _users.AddToRoleAsyc(user); if (!roleResult.Succeeded) { return(BadRequest()); } return(StatusCode(201)); } catch (Exception ex) { return(StatusCode((int)HttpStatusCode.InternalServerError, ex.Message)); } }
public async Task <IdentityResult> AddToRoleAsyc(ShopUserDTO user, string role = "User") { var existUser = await _users.GetUserByUserName(user.UserName); IdentityResult result; if (existUser != null) { return(result = await _users.AddToRoleAsync(existUser, role)); } else { throw new ArgumentNullException(); } }
public async Task <IdentityResult> CreateUser(ShopUserDTO user) { ShopUser syncaUser = new ShopUser() { UserName = user.UserName, ShopCart = new ShopCart() }; if (await _users.GetUserByUserName(user.UserName) == null) { return(await _users.AddUserAsync(syncaUser, user.Password)); } else { throw new Exception("User already exist"); } }
public async Task <object> Login(ShopUserDTO model) { try { var result = await _users.SignIn(model); if (result.Succeeded) { var jwtToken = await _users.GetJWT(model.UserName); return(Ok(jwtToken)); } return(BadRequest(result.ToString())); } catch (Exception ex) { return(StatusCode((int)HttpStatusCode.InternalServerError, ex.Message)); } }
public async Task <SignInResult> SignIn(ShopUserDTO user) { return(await _users.SignInAsync(user.UserName, user.Password)); }