Exemplo n.º 1
0
        public DurationEndTimeInterval(Duration duration, TimePoint end)
        {
            if (duration == null)
            {
                throw new ArgumentNullException(nameof(duration));
            }

            if (end == null)
            {
                throw new ArgumentNullException(nameof(end));
            }

            _duration = duration;
            _end = end;
        }
Exemplo n.º 2
0
        public StartDurationTimeInterval(TimePoint start, Duration duration)
        {
            if (start == null)
            {
                throw new ArgumentNullException(nameof(start));
            }

            if (duration == null)
            {
                throw new ArgumentNullException(nameof(duration));
            }

            _start = start;
            _duration = duration;
        }
Exemplo n.º 3
0
        internal static string Serialize(TimePoint timePoint, ISO8601Options options)
        {
            if (options == null)
            {
                options = ISO8601Options.Default;
            }

            if (timePoint is CalendarDateTime)
            {
                return ((CalendarDateTime)timePoint).ToString(options);
            }

            if (timePoint is OrdinalDateTime)
            {
                return ((OrdinalDateTime)timePoint).ToString(options);
            }

            if (timePoint is WeekDateTime)
            {
                return ((WeekDateTime)timePoint).ToString(options);
            }

            if (timePoint is CalendarDate)
            {
                return ((CalendarDate)timePoint).ToString(options);
            }

            if (timePoint is OrdinalDate)
            {
                return ((OrdinalDate)timePoint).ToString(options);
            }

            if (timePoint is WeekDate)
            {
                return ((WeekDate)timePoint).ToString(options);
            }

            return ((Time)timePoint).ToString(options);
        }
Exemplo n.º 4
0
        public static TimePoint Add(TimePoint x, Duration y)
        {
            if (x is CalendarDateTime)
            {
                return Add((CalendarDateTime)x, y);
            }

            if (x is OrdinalDateTime)
            {
                return Add(((OrdinalDateTime)x).ToCalendarDateTime(), y);
            }

            if (x is WeekDateTime)
            {
                return Add(((WeekDateTime)x).ToCalendarDateTime(), y);
            }

            if (x is CalendarDate)
            {
                return Add((CalendarDate)x, y);
            }

            if (x is OrdinalDate)
            {
                return Add(((OrdinalDate)x).ToCalendarDate(), y);
            }

            if (x is WeekDate)
            {
                return Add(((WeekDate)x).ToCalendarDate(), y);
            }

            if (x is Time)
            {
                return Add((Time)x, y);
            }

            throw new InvalidOperationException($"A {y.GetType()} cannot be added to a {x.GetType()}.");
        }
Exemplo n.º 5
0
 public StartEndTimeInterval(TimePoint start, TimePoint end)
 {
     _start = start;
     _end = end;
 }
Exemplo n.º 6
0
        public static TimePoint Subtract(TimePoint x, Duration y)
        {
            if (x is CalendarDateTime)
            {
                return Subtract((CalendarDateTime)x, y);
            }

            if (x is OrdinalDateTime)
            {
                return Subtract(((OrdinalDateTime)x).ToCalendarDateTime(), y);
            }

            if (x is WeekDateTime)
            {
                return Subtract(((WeekDateTime)x).ToCalendarDateTime(), y);
            }

            if (x is CalendarDate)
            {
                return Subtract((CalendarDate)x, y);
            }

            if (x is OrdinalDate)
            {
                return Subtract(((OrdinalDate)x).ToCalendarDate(), y);
            }

            if (x is WeekDate)
            {
                return Subtract(((WeekDate)x).ToCalendarDate(), y);
            }

            if (x is Time)
            {
                return Subtract((Time)x, y);
            }

            throw new InvalidOperationException($"A {y.GetType()} cannot be subtracted from a {x.GetType()}.");
        }
Exemplo n.º 7
0
        internal static TimeSpan Subtract(Time later, TimePoint earlier)
        {
            if (earlier is Time)
            {
                return later - (Time)earlier;
            }

            throw new InvalidOperationException($"A {earlier.GetType()} cannot be subtracted from a {later.GetType()}");
        }
Exemplo n.º 8
0
        internal static TimeSpan Subtract(CalendarDateTime later, TimePoint earlier)
        {
            if (earlier is CalendarDateTime)
            {
                return later - (CalendarDateTime)earlier;
            }

            if (earlier is OrdinalDateTime)
            {
                return later - ((OrdinalDateTime)earlier).ToCalendarDateTime();
            }

            if (earlier is WeekDateTime)
            {
                return later - ((WeekDateTime)earlier).ToCalendarDateTime();
            }

            if (earlier is CalendarDate)
            {
                return later - (CalendarDate)earlier;
            }

            if (earlier is OrdinalDate)
            {
                return later - ((OrdinalDate)earlier).ToCalendarDate();
            }

            if (earlier is WeekDate)
            {
                return later - ((WeekDate)earlier).ToCalendarDate();
            }

            if (earlier is Time)
            {
                return later - (Time)earlier;
            }

            throw new InvalidOperationException($"A {earlier.GetType()} cannot be subtracted from a {later.GetType()}");
        }
Exemplo n.º 9
0
        public static TimeSpan Subtract(TimePoint later, TimePoint earlier)
        {
            if (later is CalendarDateTime)
            {
                return Subtract((CalendarDateTime)later, earlier);
            }

            if (later is OrdinalDateTime)
            {
                return Subtract(((OrdinalDateTime)later).ToCalendarDateTime(), earlier);
            }

            if (later is WeekDateTime)
            {
                return Subtract(((WeekDateTime)later).ToCalendarDateTime(), earlier);
            }

            if (later is CalendarDate)
            {
                return Subtract((CalendarDate)later, earlier);
            }

            if (later is OrdinalDate)
            {
                return Subtract(((OrdinalDate)later).ToCalendarDate(), earlier);
            }

            if (later is WeekDate)
            {
                return Subtract(((WeekDate)later).ToCalendarDate(), earlier);
            }

            if (later is Time)
            {
                return Subtract((Time)later, earlier);
            }

            throw new InvalidOperationException($"A {earlier.GetType()} cannot be subtracted from a {later.GetType()}");
        }