/// <summary> /// Interval을 재설정합니다. /// </summary> public override void Reset() { base.Reset(); _isIntervalEnabled = true; _startEdge = IntervalEdge.Closed; _endEdge = IntervalEdge.Closed; }
public TimeInterval(DateTime startInterval, DateTime endInterval, IntervalEdge startEdge, IntervalEdge endEdge, bool isIntervalEnabled, bool isReadOnly) : base(startInterval, endInterval, isReadOnly) { _startEdge = startEdge; _endEdge = endEdge; _isIntervalEnabled = isIntervalEnabled; }
public TimeInterval(ITimePeriod src) : base(src) { src.ShouldNotBeNull("src"); var interval = src as ITimeInterval; if (interval != null) { _start = interval.StartInterval; _end = interval.EndInterval; _startEdge = interval.StartEdge; _endEdge = interval.EndEdge; _isIntervalEnabled = interval.IsIntervalEnabled; } }
} // TimeInterval // ---------------------------------------------------------------------- public TimeInterval(DateTime startInterval, DateTime endInterval, IntervalEdge startEdge = IntervalEdge.Closed, IntervalEdge endEdge = IntervalEdge.Closed, bool isIntervalEnabled = true, bool isReadOnly = false) { if (startInterval <= endInterval) { this.startInterval = startInterval; this.endInterval = endInterval; } else { this.endInterval = startInterval; this.startInterval = endInterval; } this.startEdge = startEdge; this.endEdge = endEdge; this.isIntervalEnabled = isIntervalEnabled; this.isReadOnly = isReadOnly; } // TimeInterval
// ---------------------------------------------------------------------- public TimeInterval( DateTime startInterval, DateTime endInterval, IntervalEdge startEdge = IntervalEdge.Closed, IntervalEdge endEdge = IntervalEdge.Closed, bool isIntervalEnabled = true, bool isReadOnly = false) { if ( startInterval <= endInterval ) { this.startInterval = startInterval; this.endInterval = endInterval; } else { this.endInterval = startInterval; this.startInterval = endInterval; } this.startEdge = startEdge; this.endEdge = endEdge; this.isIntervalEnabled = isIntervalEnabled; this.isReadOnly = isReadOnly; }
} // TimeInterval // ---------------------------------------------------------------------- public TimeInterval(DateTime moment, IntervalEdge startEdge = IntervalEdge.Closed, IntervalEdge endEdge = IntervalEdge.Closed, bool isIntervalEnabled = true, bool isReadOnly = false) : this(moment, moment, startEdge, endEdge, isIntervalEnabled, isReadOnly) { } // TimeInterval
// ---------------------------------------------------------------------- public TimeInterval( ITimePeriod copy ) { if ( copy == null ) { throw new ArgumentNullException( "copy" ); } ITimeInterval timeInterval = copy as ITimeInterval; if ( timeInterval != null ) { startInterval = timeInterval.StartInterval; endInterval = timeInterval.EndInterval; startEdge = timeInterval.StartEdge; endEdge = timeInterval.EndEdge; isIntervalEnabled = timeInterval.IsIntervalEnabled; } else { startInterval = copy.Start; endInterval = copy.End; } isReadOnly = copy.IsReadOnly; }
// ---------------------------------------------------------------------- public virtual void Reset() { CheckModification(); isIntervalEnabled = true; startInterval = TimeSpec.MinPeriodDate; endInterval = TimeSpec.MaxPeriodDate; startEdge = IntervalEdge.Closed; endEdge = IntervalEdge.Closed; }
// ---------------------------------------------------------------------- public TimeInterval( DateTime moment, IntervalEdge startEdge = IntervalEdge.Closed, IntervalEdge endEdge = IntervalEdge.Closed, bool isIntervalEnabled = true, bool isReadOnly = false) : this(moment, moment, startEdge, endEdge, isIntervalEnabled, isReadOnly) { }
public TimeInterval(DateTime startInterval, DateTime endInterval, IntervalEdge startEdge, IntervalEdge endEdge) : this(startInterval, endInterval, startEdge, endEdge, true, false) {}
public TimeInterval(DateTime moment, IntervalEdge startEdge, IntervalEdge endEdge, bool isIntervalEnabled, bool isReadOnly) : this(moment, moment, startEdge, endEdge, isIntervalEnabled, isReadOnly) {}
public TimeInterval(DateTime startInterval, DateTime endInterval, IntervalEdge startEdge, IntervalEdge endEdge) : this(startInterval, endInterval, startEdge, endEdge, true, false) { }
public TimeInterval(DateTime moment, IntervalEdge startEdge, IntervalEdge endEdge, bool isIntervalEnabled, bool isReadOnly) : this(moment, moment, startEdge, endEdge, isIntervalEnabled, isReadOnly) { }
} // GetCalendarPeriod #endregion #region Interval // ---------------------------------------------------------------------- public string GetInterval(DateTime start, DateTime end, IntervalEdge startEdge, IntervalEdge endEdge, TimeSpan duration) { if (end < start) { throw new ArgumentOutOfRangeException("end"); } StringBuilder sb = new StringBuilder(); // interval start switch (startEdge) { case IntervalEdge.Closed: sb.Append(IntervalStartClosed); break; case IntervalEdge.Open: sb.Append(UseIsoIntervalNotation ? intervalStartOpenIso : intervalStartOpen); break; } bool addDuration = true; bool startHasTimeOfDay = TimeTool.HasTimeOfDay(start); // no duration - schow start date (optionally with the time part) if (duration == TimeSpec.MinPeriodDuration) { sb.Append(startHasTimeOfDay ? GetDateTime(start) : GetShortDate(start)); addDuration = false; } // within one day: show full start, end time and suration else if (TimeCompare.IsSameDay(start, end)) { sb.Append(GetDateTime(start)); sb.Append(startEndSeparator); sb.Append(GetLongTime(end)); } else { bool endHasTimeOfDay = TimeTool.HasTimeOfDay(start); bool hasTimeOfDays = startHasTimeOfDay || endHasTimeOfDay; if (hasTimeOfDays) { sb.Append(GetDateTime(start)); sb.Append(startEndSeparator); sb.Append(GetDateTime(end)); } else { sb.Append(GetShortDate(start)); sb.Append(startEndSeparator); sb.Append(GetShortDate(end)); } } // interval end switch (endEdge) { case IntervalEdge.Closed: sb.Append(IntervalEndClosed); break; case IntervalEdge.Open: sb.Append(UseIsoIntervalNotation ? IntervalEndOpenIso : IntervalEndOpen); break; } // duration if (addDuration) { sb.Append(durationSeparator); sb.Append(GetDuration(duration)); } return(sb.ToString()); } // GetInterval
// ---------------------------------------------------------------------- public string GetInterval( DateTime start, DateTime end, IntervalEdge startEdge, IntervalEdge endEdge, TimeSpan duration) { if ( end < start ) { throw new ArgumentOutOfRangeException( "end" ); } StringBuilder sb = new StringBuilder(); // interval start switch ( startEdge ) { case IntervalEdge.Closed: sb.Append( "[" ); break; case IntervalEdge.Open: sb.Append( UseIsoIntervalNotation ? "]" : "(" ); break; } bool addDuration = true; bool startHasTimeOfDay = TimeTool.HasTimeOfDay( start ); // no duration - schow start date (optionally with the time part) if ( duration == TimeSpec.MinPeriodDuration ) { sb.Append( startHasTimeOfDay ? GetDateTime( start ) : GetShortDate( start ) ); addDuration = false; } // within one day: show full start, end time and suration else if ( TimeCompare.IsSameDay( start, end ) ) { sb.Append( GetDateTime( start ) ); sb.Append( startEndSeparator ); sb.Append( GetLongTime( end ) ); sb.Append( GetShortDate( start ) ); } else { bool endHasTimeOfDay = TimeTool.HasTimeOfDay( start ); bool hasTimeOfDays = startHasTimeOfDay || endHasTimeOfDay; if ( hasTimeOfDays ) { sb.Append( GetDateTime( start ) ); sb.Append( startEndSeparator ); sb.Append( GetDateTime( start ) ); } else { sb.Append( GetShortDate( start ) ); sb.Append( startEndSeparator ); sb.Append( GetShortDate( end ) ); } } // interval end switch ( endEdge ) { case IntervalEdge.Closed: sb.Append( "]" ); break; case IntervalEdge.Open: sb.Append( UseIsoIntervalNotation ? "[" : ")" ); break; } // duration if ( addDuration ) { sb.Append( durationSeparator ); sb.Append( GetDuration( duration ) ); } return sb.ToString(); }
public TimeInterval(ITimePeriod src) : base(src) { src.ShouldNotBeNull("src"); var interval = src as ITimeInterval; if(interval != null) { _start = interval.StartInterval; _end = interval.EndInterval; _startEdge = interval.StartEdge; _endEdge = interval.EndEdge; _isIntervalEnabled = interval.IsIntervalEnabled; } }