Exemple #1
0
        private TimeSpanWrapperClass GetTimeDiff(int dateTimeDiffTolerance)
        {
            DateTimeErrorWrapper dateTimeErrorWrapper = null;

            try
            {
                dateTimeErrorWrapper = _userDataMarshallerClient.GetCurrentServerTime(_systemPassPhrase);
            }
            catch (CommunicationException ex)
            {
                _logger.WriteError(ex);

                return(null);
            }

            if (dateTimeErrorWrapper.ErrorStatus == ErrorStatus.Failure)
            {
                var errorReporting = (IErrorReporting)dateTimeErrorWrapper;

                _logger.WriteError(errorReporting.ErrorCode, errorReporting.Message);
                return(null);
            }

            TimeSpan timeDiff = (dateTimeErrorWrapper.ReturnDateTime).Subtract(DateTime.Now);

            // if the time difference between the client and the server is less than
            // the acceptable date/time variance, leave unchanged.
            if (timeDiff < TimeSpan.FromMinutes(dateTimeDiffTolerance))
            {
                return(new TimeSpanWrapperClass(new TimeSpan(0)));
            }

            return(new TimeSpanWrapperClass((dateTimeErrorWrapper.ReturnDateTime).Subtract(DateTime.Now)));
        }
Exemple #2
0
        /// <summary>
        /// Gets the Relay server's time
        /// </summary>
        /// <param name="systemPassPhrase">Pass phrase to authenticate across services</param>
        /// <returns>A LongErrorWrapper object with the Relay server's time in ticks or with error information</returns>
        public DateTimeErrorWrapper GetCurrentServerTime(string systemPassPhrase)
        {
            DateTimeErrorWrapper dateTimeErrorWrapper = new DateTimeErrorWrapper();

            if (systemPassPhrase != _systemPassPhrase)
            {
                dateTimeErrorWrapper.ErrorCode     = "ERR:001";
                dateTimeErrorWrapper.Message       = "Authentication failure";
                dateTimeErrorWrapper.ErrorSeverity = ErrorSeverity.Retriable;
                dateTimeErrorWrapper.ErrorStatus   = ErrorStatus.Failure;

                return(dateTimeErrorWrapper);
            }

            dateTimeErrorWrapper.ReturnDateTime = DateTime.Now;
            dateTimeErrorWrapper.ErrorStatus    = ErrorStatus.Success;

            return(dateTimeErrorWrapper);
        }