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); }