} // TimePeriodSubtractor // ---------------------------------------------------------------------- public TimePeriodSubtractor(ITimePeriodMapper periodMapper) { this.periodMapper = periodMapper; timePeriodCombiner = new TimePeriodCombiner <T>(periodMapper); timeGapCalculator = new TimeGapCalculator <T>(periodMapper); timePeriodIntersector = new TimePeriodIntersector <T>(periodMapper); } // TimePeriodSubtractor
public TimeLine(ITimePeriodContainer periods, ITimePeriod limits, ITimePeriodMapper periodMapper) { periods.ShouldNotBeNull("periods"); Periods = periods; Limits = (limits != null) ? new TimeRange(limits) : new TimeRange(periods); PeriodMapper = periodMapper; }
// ---------------------------------------------------------------------- protected TimeLinePeriodEvaluator( ITimePeriodContainer periods, ITimePeriodMapper periodMapper = null ) { if ( periods == null ) { throw new ArgumentNullException( "periods" ); } this.periods = periods; this.periodMapper = periodMapper; }
// ---------------------------------------------------------------------- protected TimeLinePeriodEvaluator(ITimePeriodContainer periods, ITimePeriodMapper periodMapper = null) { if (periods == null) { throw new ArgumentNullException("periods"); } this.periods = periods; this.periodMapper = periodMapper; } // TimeLinePeriodEvaluator
} // TimeLine // ---------------------------------------------------------------------- public TimeLine(ITimePeriodContainer periods, ITimePeriod limits = null, ITimePeriodMapper periodMapper = null) { if (periods == null) { throw new ArgumentNullException("periods"); } this.limits = limits != null ? new TimeRange(limits) : new TimeRange(periods); this.periods = periods; this.periodMapper = periodMapper; } // TimeLine
} // HasSameData // ---------------------------------------------------------------------- private static TimeRange ToCalendarTimeRange(ITimePeriod period, ITimePeriodMapper mapper) { DateTime mappedStart = mapper.MapStart(period.Start); DateTime mappedEnd = mapper.MapEnd(period.End); if (mappedEnd <= mappedStart) { throw new NotSupportedException(); } return(new TimeRange(mappedStart, mappedEnd)); } // ToCalendarTimeRange
/// <summary> /// 지정된 기간을 <paramref name="mapper"/>를 통해 매핑한 기간으로 반환합니다. /// </summary> /// <param name="period"></param> /// <param name="mapper"></param> /// <returns></returns> private static TimeRange ToCalendarTimeRange(ITimePeriod period, ITimePeriodMapper mapper) { period.ShouldNotBeNull("period"); mapper = mapper ?? new TimeCalendar(); var mappedStart = mapper.MapStart(period.Start); var mappedEnd = mapper.MapEnd(period.End); TimeTool.AssertValidPeriod(mappedStart, mappedEnd); var mapped = new TimeRange(mappedStart, mappedEnd); if (IsDebugEnabled) { log.Debug("TimeCalendar 기준의 기간으로 매핑했습니다. period=[{0}], mapped=[{1}]", period, mapped); } return(mapped); }
public TimeLine(ITimePeriodContainer periods, ITimePeriodMapper periodMapper) : this(periods, null, periodMapper) { }
} // TimePeriodIntersector // ---------------------------------------------------------------------- public TimePeriodIntersector(ITimePeriodMapper periodMapper) { this.periodMapper = periodMapper; } // TimePeriodIntersector
} // TimePeriodCombiner // ---------------------------------------------------------------------- public TimePeriodCombiner(ITimePeriodMapper periodMapper) { this.periodMapper = periodMapper; } // TimePeriodCombiner
public TimeGapCalculator(ITimePeriodMapper periodMapper) { this.PeriodMapper = periodMapper; }
// ---------------------------------------------------------------------- private static TimeRange ToCalendarTimeRange( ITimePeriod period, ITimePeriodMapper mapper ) { DateTime mappedStart = mapper.MapStart( period.Start ); DateTime mappedEnd = mapper.MapEnd( period.End ); if ( mappedEnd <= mappedStart ) { throw new NotSupportedException(); } return new TimeRange( mappedStart, mappedEnd ); }
/// <summary> /// 생성자 /// </summary> /// <param name="mapper">시작/완료 시각에 대한 매퍼</param> public TimeGapCalculator(ITimePeriodMapper mapper) { PeriodMapper = mapper; }
/// <summary> /// 생성자 /// </summary> /// <param name="mapper">시각 Mapper</param> public TimePeriodCombiner(ITimePeriodMapper mapper) { PeriodMapper = mapper; }