Beispiel #1
0
        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);
        }
Beispiel #2
0
 public SamedayAuthenticateResponse(SamedayAuthenticateRequest request, SamedayRawResponse rawResponse) : base(request, rawResponse)
 {
 }