private void SetBits(DayOfWeek day, DayInterval interval, bool value) { int startIndex = GetIndexFromDayAndTime(day, interval.FromHour, interval.FromMinute, interval.FromSecond); int stopIndex = GetIndexFromDayAndTime(day, interval.ToHour, interval.ToMinute, interval.ToSecond); for (int i = startIndex; i < stopIndex; i++) { this.Bitfield[i] = value; } }
public bool Equals(DayInterval obj) { return obj != null && obj.FromHour == this.FromHour && obj.FromMinute == this.FromMinute && obj.FromSecond == this.FromSecond && obj.ToHour == this.ToHour && obj.ToMinute == this.ToMinute && obj.ToSecond == this.ToSecond; }
public WeekScheduleBuilder Open(DayOfWeek day, DayInterval interval) { SetBits(day, interval, true); return this; }
public WeekScheduleBuilder Closed(DayOfWeek day, DayInterval interval) { SetBits(day, interval, false); return this; }