public async Task <IActionResult> Login([FromBody] LoginModel model)
        {
            var result = await _userService.Login(new LoginDto
            {
                Name     = model.Name,
                Password = model.Password
            });

            if (!result.Success)
            {
                return(BadRequest(result.Errors, result.Message));
            }

            var tokenHandler    = new JwtSecurityTokenHandler();
            var secret          = _jwtHelper.GetJwtSecret();
            var key             = Encoding.ASCII.GetBytes(secret);
            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject = new ClaimsIdentity(new Claim[]
                {
                    new Claim("UserId", result.Data),
                    new Claim("UserName", model.Name)
                }),
                Expires            = DateTime.UtcNow.AddDays(7),
                SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key),
                                                            SecurityAlgorithms.HmacSha256Signature)
            };
            var token          = tokenHandler.CreateToken(tokenDescriptor);
            var generatedToken = tokenHandler.WriteToken(token);

            return(Success(new LoginResponseModel {
                AccessToken = generatedToken
            }, "Login successfully."));
        }