Example #1
0
        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));
            }
        }
Example #2
0
        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();
            }
        }
Example #3
0
        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");
            }
        }
Example #4
0
        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));
            }
        }
Example #5
0
 public async Task <SignInResult> SignIn(ShopUserDTO user)
 {
     return(await _users.SignInAsync(user.UserName, user.Password));
 }