예제 #1
0
        private static void Configure(FilterContext context, BaseFilterOptions options)
        {
            ITimestampStringConverter timestampConverter = TimestampStringConverterResolver.Default.Resolve(options.TimestampFormat);

            if (String.IsNullOrWhiteSpace(options.FromTimestampString) == false)
            {
                options.FromTimestamp = timestampConverter.Convert(options.FromTimestampString);
            }

            if (String.IsNullOrWhiteSpace(options.ToTimestampString) == false)
            {
                options.ToTimestamp = timestampConverter.Convert(options.ToTimestampString);
            }
        }
        protected override DoublyTimestampedDataPayload Convert(JToken token, JsonSerializer serializer)
        {
            JObject obj = (JObject)token;

            string         referenceTimestampFieldValue = obj[_referenceTimestampField].ToObject <string>();
            DateTimeOffset referenceTimestamp           = _referenceTimestampConverter.Convert(referenceTimestampFieldValue);

            var timestamp = obj[_timestampField].ToObject <DateTimeOffset>(serializer);

            return(new DoublyTimestampedDataPayload(obj, timestamp, referenceTimestamp));
        }
예제 #3
0
        public static Selection Parse(string name, string fromValue, string toValue, ITimestampStringConverter timestampConverter)
        {
            if (timestampConverter == null)
            {
                throw new ArgumentNullException(nameof(timestampConverter));
            }

            DateTimeOffset?from = null;
            DateTimeOffset?to   = null;

            if (String.IsNullOrWhiteSpace(fromValue) == false)
            {
                from = timestampConverter.Convert(fromValue);
            }

            if (String.IsNullOrWhiteSpace(toValue) == false)
            {
                to = timestampConverter.Convert(toValue);
            }

            return(new Selection(name, from, to));
        }
 public object ConvertFromString(string text, IReaderRow row, MemberMapData memberMapData)
 {
     return(_timestampConverter.Convert(text));
 }
예제 #5
0
 public object ConvertFromString(string text, IReaderRow row, MemberMapData memberMapData)
 {
     return(String.IsNullOrWhiteSpace(text)
          ? new DateTimeOffset?()
          : _timestampConverter.Convert(text));
 }
예제 #6
0
 protected override DateTimeOffset Convert(JToken token, JsonSerializer serializer)
 {
     return(_timestampConverter.Convert(token.Value <string>()));
 }