TraktRater.TraktRater.Login C# (CSharp) Method

Login() private method

private Login ( ) : bool
return bool
        private bool Login()
        {
            if (!AppSettings.TraktOAuth)
            {
                UIUtils.UpdateStatus("Logging in to trakt.tv...");
                var response = TraktAPI.TraktAPI.GetUserToken();
                if (response == null || string.IsNullOrEmpty(response.Token))
                {
                    UIUtils.UpdateStatus("Unable to login to trakt, check log for details", true);
                    SetControlState(true);
                    importRunning = false;
                    importCancelled = false;
                    maintenanceRunning = false;
                    return false;
                }
                return true;
            }
            else
            {
                // exchange pin-code for access token or refresh existing token
                UIUtils.UpdateStatus("Exchanging {0} for access-token...", pinCode.Length == 8 ? "pin-code" : "refresh-token");
                var response = TraktAPI.TraktAPI.GetOAuthToken(pinCode.Length == 8 ? pinCode : AppSettings.TraktOAuthToken);
                if (response == null || string.IsNullOrEmpty(response.AccessToken))
                {
                    UIUtils.UpdateStatus("Unable to login to trakt, check log for details", true);
                    SetControlState(true);
                    importRunning = false;
                    importCancelled = false;
                    maintenanceRunning = false;
                    pinCode = string.Empty;
                    return false;
                }

                // save the refresh-token for next time
                AppSettings.TraktOAuthToken = response.RefreshToken;
                pinCode = string.Empty;

                return true;
            }
        }
TraktRater