public async Task <UserLoginResponse> SignIn(UserSignInRequest request)
        {
            LogUtil.Debug("SignIn : " + request.Username + " In time: " + DateTime.UtcNow.ToString());
            IAuthenticationManager authentication = HttpContext.Current.GetOwinContext().Authentication;
            UserLoginResponse      response       = await Task.Run(() => _userService.UserSignIn(request));

            string token = string.Empty;

            if (response != null && response.ErrorCode == LAMPConstants.API_SUCCESS_CODE)
            {
                UserSessionToken tokenObj = _authService.CreateSessionTokenObject(response.UserId, response.Email, response.StudyId);
                if (tokenObj.ErrorCode == LAMPConstants.API_SUCCESS_CODE)
                {
                    response.SessionToken = tokenObj.SessionToken;
                }
                else
                {
                    response = new UserLoginResponse
                    {
                        ErrorCode    = LAMPConstants.API_SESSION_TOKEN_UPDATION_FAILED,
                        ErrorMessage = ResourceHelper.GetStringResource(LAMPConstants.API_SESSION_TOKEN_UPDATION_FAILED)
                    };
                }
            }
            LogUtil.Debug("SignIn : " + request.Username + " Out time: " + DateTime.UtcNow.ToString());
            return(response);
        }