Exemplo n.º 1
0
        private static DataValue FromDataType(DataType dt)
        {
            switch (dt)
            {
            case DataType.Bool:
                return(new DataValue("false"));

            case DataType.Byte:
            case DataType.SByte:
            case DataType.Int16:
            case DataType.UInt16:
            case DataType.Int32:
            case DataType.UInt32:
            case DataType.Int64:
            case DataType.UInt64:
                return(new DataValue("0"));

            case DataType.Float32:
            case DataType.Float64:
                return(new DataValue("0.0"));

            case DataType.String:
            case DataType.ObjectRef:
            case DataType.LocationRef:
            case DataType.URI:
            case DataType.Enum:
                return(new DataValue("\"\""));

            case DataType.JSON:
                return(new DataValue("\"0.0\""));

            case DataType.Guid:
                return(new DataValue("\"00000000-0000-0000-0000-00000000000\""));

            case DataType.NamedValue:
                return(new DataValue("{ \"Name\": \"\", \"Value\": \"\"}"));

            case DataType.LocalDate:
                return(FromString(LocalDate.FromJavaTicks(0).ToString()));

            case DataType.LocalTime:
                return(FromString(LocalTime.FromMillisecondsOfDay(0).ToString()));

            case DataType.LocalDateTime:
                return(FromString(LocalDateTime.FromJavaTicks(0).ToString()));

            case DataType.Timestamp:
                return(FromString(Timestamp.FromJavaTicks(0).ToString()));

            case DataType.Duration:
                return(FromString(Duration.FromSeconds(0).ToString()));

            case DataType.Struct:
                return(new DataValue("{}"));
            }
            return(new DataValue(null));
        }
Exemplo n.º 2
0
        private bool IsIntervalBetweenTimetamps(Timestamp tLeft, Timestamp tRight, History history)
        {
            if (!history.Interval.HasValue)
            {
                return(false);
            }

            long intervalMS = history.Interval.Value.TotalMilliseconds;
            long offMS      = history.Offset.HasValue ? history.Offset.Value.TotalMilliseconds : 0;

            long      intervals = 1 + (tLeft.JavaTicks - offMS) / intervalMS;
            Timestamp tNext     = Timestamp.FromJavaTicks(intervals * intervalMS + offMS);

            return(tNext < tRight);
        }