public bool Equals(LocalDailyCalendar obj) { if (obj == null) { return(false); } bool baseEqual = GetBaseCalendar() != null? GetBaseCalendar().Equals(obj.GetBaseCalendar()) : true; return(baseEqual && (InvertTimeRange == obj.InvertTimeRange) && (rangeStartingHourOfDay == obj.rangeStartingHourOfDay) && (rangeStartingMinute == obj.rangeStartingMinute) && (rangeStartingSecond == obj.rangeStartingSecond) && (rangeStartingMillis == obj.rangeStartingMillis) && (rangeEndingHourOfDay == obj.rangeEndingHourOfDay) && (rangeEndingMinute == obj.rangeEndingMinute) && (rangeEndingSecond == obj.rangeEndingSecond) && (rangeEndingMillis == obj.rangeEndingMillis)); }
/// <summary> /// Builds a <see cref="DailyCalendar"/> on the given allowed hours to run. /// </summary> /// <param name="fromTimeString">From time.</param> /// <param name="toTimeString">To time.</param> /// <returns></returns> private ICalendar BuildCalendarOnTimeRange(ICalendar baseCalendar, string fromTimeString, string toTimeString, TimeZoneInfo timeZone) { DateTime? dFromTime = GrammarHelper.GetTimeFromTimeString(fromTimeString); DateTime? dToTime = GrammarHelper.GetTimeFromTimeString(toTimeString); DateTime fromTime = dFromTime.Value; DateTime toTime = dToTime.Value; //adjust the utc month,day,year to match each other toTime = new DateTime(fromTime.Year, fromTime.Month, fromTime.Day, toTime.Hour, toTime.Minute, toTime.Second, toTime.Millisecond); bool shouldInvertTimeRange = false; //false = exclusive time range //if the toTime is lower than fromTime if (toTime < fromTime) { //switch the from and to times DateTime fromTemp = fromTime; fromTime = toTime.AddMilliseconds(1); toTime = fromTemp.AddMilliseconds(-1); } else { //check to see if they are the same //TODO: do something about this hacking the extra second if (fromTime.Equals(toTime)) { toTime = toTime.AddSeconds(1); } shouldInvertTimeRange = true; //turn this into an inclusive range } LocalDailyCalendar calendar = null; if (baseCalendar != null) calendar = new LocalDailyCalendar(baseCalendar, fromTime, toTime); else calendar = new LocalDailyCalendar(fromTime, toTime); calendar.InvertTimeRange = shouldInvertTimeRange; calendar.TimeZone = timeZone; return calendar; }
public bool Equals(LocalDailyCalendar obj) { if (obj == null) return false; bool baseEqual = GetBaseCalendar() != null ? GetBaseCalendar().Equals(obj.GetBaseCalendar()) : true; return baseEqual && (InvertTimeRange == obj.InvertTimeRange) && (rangeStartingHourOfDay == obj.rangeStartingHourOfDay) && (rangeStartingMinute == obj.rangeStartingMinute) && (rangeStartingSecond == obj.rangeStartingSecond) && (rangeStartingMillis == obj.rangeStartingMillis) && (rangeEndingHourOfDay == obj.rangeEndingHourOfDay) && (rangeEndingMinute == obj.rangeEndingMinute) && (rangeEndingSecond == obj.rangeEndingSecond) && (rangeEndingMillis == obj.rangeEndingMillis); }
public override object Clone() { LocalDailyCalendar clone = (LocalDailyCalendar)base.Clone(); return(clone); }