예제 #1
0
        public static void SetStartAfter(DateTime?startAfter, RequestJobBase dataObject, StringBuilder changedValuesTracker = null)
        {
            DateTime?value = null;

            if (startAfter != null)
            {
                value = new DateTime?(startAfter.Value.ToUniversalTime());
            }
            string arg = (value == null) ? "(null)" : value.ToString();

            RequestTaskHelper.TrackerAppendLine(changedValuesTracker, string.Format("TimeTracker.StartAfter: {0} -> {1}", dataObject.TimeTracker.GetTimestamp(RequestJobTimestamp.StartAfter), arg));
            dataObject.TimeTracker.SetTimestamp(RequestJobTimestamp.StartAfter, value);
            DateTime?timestamp = dataObject.TimeTracker.GetTimestamp(RequestJobTimestamp.DoNotPickUntil);

            RequestTaskHelper.TrackerAppendLine(changedValuesTracker, string.Format("TimeTracker.DoNotPickUntilTimeStamp: {0} -> {1}", timestamp, arg));
            dataObject.TimeTracker.SetTimestamp(RequestJobTimestamp.DoNotPickUntil, value);
        }
예제 #2
0
        public static void SetCompleteAfter(DateTime?completeAfter, RequestJobBase dataObject, StringBuilder changedValuesTracker = null)
        {
            DateTime?value = null;

            if (completeAfter != null)
            {
                value = new DateTime?(completeAfter.Value.ToUniversalTime());
            }
            string arg = (value == null) ? "(null)" : value.ToString();

            RequestTaskHelper.TrackerAppendLine(changedValuesTracker, string.Format("TimeTracker.CompleteAfter: {0} -> {1}", dataObject.TimeTracker.GetTimestamp(RequestJobTimestamp.CompleteAfter), arg));
            dataObject.TimeTracker.SetTimestamp(RequestJobTimestamp.CompleteAfter, value);
            if (dataObject.Status == RequestStatus.Synced)
            {
                DateTime?timestamp = dataObject.TimeTracker.GetTimestamp(RequestJobTimestamp.DoNotPickUntil);
                TimeSpan incrementalSyncInterval = dataObject.IncrementalSyncInterval;
                if (incrementalSyncInterval == TimeSpan.Zero || (value != null && value.Value < timestamp))
                {
                    RequestTaskHelper.TrackerAppendLine(changedValuesTracker, string.Format("TimeTracker.DoNotPickUntilTimeStamp: {0} -> {1}", timestamp, arg));
                    dataObject.TimeTracker.SetTimestamp(RequestJobTimestamp.DoNotPickUntil, value);
                }
            }
        }