private string GetToken(bool usePersistentData = true) { if (usePersistentData) { string token = _persistentDataHandler.Get(KEY_TOKEN); string expiresAt = _persistentDataHandler.Get(KEY_TOKEN_EXPIRES); if (!string.IsNullOrWhiteSpace(token) && !string.IsNullOrWhiteSpace(expiresAt)) { var expiresAtDate = DateTime.Parse(expiresAt); if (expiresAtDate > DateTime.Now) { return(token); } } } if (string.IsNullOrWhiteSpace(UserName) || string.IsNullOrWhiteSpace(Password)) { throw new SamedaySDKException("UserName or Password not set."); } var authenticateRequest = new SamedayAuthenticateRequest(UserName, Password); var rawResponse = SendRequest(authenticateRequest.BuildRequest()); var response = new SamedayAuthenticateResponse(authenticateRequest, rawResponse); if (usePersistentData) { _persistentDataHandler.Set(KEY_TOKEN, response.Token); _persistentDataHandler.Set(KEY_TOKEN_EXPIRES, response.ExpiresAt.ToString("Y-m-d H:i:s")); } return(response.Token); }
public SamedayAuthenticateResponse(SamedayAuthenticateRequest request, SamedayRawResponse rawResponse) : base(request, rawResponse) { }