예제 #1
0
        public ResponseMessage <ShowUserInformation> RegisterUser(UserModel data)
        {
            ResponseMessage <ShowUserInformation> response = new ResponseMessage <ShowUserInformation>();

            try
            {
                ShowUserInformation registeredUserDetails = userRepository.UserRegistration(data);
                if (registeredUserDetails != null)
                {
                    response.Status  = true;
                    response.Message = "Registration successful";
                    response.Data    = registeredUserDetails;
                }
                else
                {
                    response.Status  = false;
                    response.Message = "Registration failed. This Email Id or username already exists.";
                    response.Data    = registeredUserDetails;
                }
            }
            catch (Exception exception)
            {
                response.Status  = false;
                response.Message = "Server error. Error : " + exception.Message;
                response.Data    = null;
            }
            return(response);
        }
예제 #2
0
        public ResponseMessage <ShowUserInformation> LoginUser(LoginModel data)
        {
            ResponseMessage <ShowUserInformation> response = new ResponseMessage <ShowUserInformation>();

            try
            {
                ShowUserInformation loggedUserDetails = userRepository.UserLogin(data);
                if (loggedUserDetails != null)
                {
                    response.Status  = true;
                    response.Message = "Login successful";
                    response.Data    = loggedUserDetails;
                }
                else
                {
                    response.Status  = false;
                    response.Message = "Login failed. Please enter correct username and password";
                    response.Data    = loggedUserDetails;
                }
            }
            catch (Exception exception)
            {
                response.Status  = false;
                response.Message = "Server error. Error : " + exception.Message;
                response.Data    = null;
            }
            return(response);
        }
예제 #3
0
        /// <summary>
        /// Generates Token for Login
        /// </summary>
        /// <param name="responseData"></param>
        /// <returns></returns>
        private string GenerateToken(ShowUserInformation Info)
        {
            try
            {
                var symmetricSecuritykey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(configuration["Jwt:Key"]));

                var signingCreds = new SigningCredentials(symmetricSecuritykey, SecurityAlgorithms.HmacSha256);

                var claims = new List <Claim>
                {
                    new Claim("Email", Info.EmailID.ToString()),
                    new Claim("UserName", Info.UserName.ToString())
                };
                var token = new JwtSecurityToken(configuration["Jwt:Issuer"],
                                                 configuration["Jwt:Issuer"],
                                                 claims,
                                                 expires: DateTime.Now.AddHours(1),
                                                 signingCredentials: signingCreds);
                return(new JwtSecurityTokenHandler().WriteToken(token));
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }