/// <summary> /// Initializes a new instance of the WeekRange class. Constructor creates WeekRange object by selected values /// </summary> /// <param name="dayOfWeek">DayOfWeek when period starts</param> /// <param name="startTime">Start time</param> /// <param name="endTime">End time</param> public WeekRange(DayOfWeek dayOfWeek, TimeSpan startTime, TimeSpan endTime) { if (startTime.Days > 0 || endTime.Days > 0) { throw new Exception("To WeekRange constructor was passed TimeSpan parameters where days is greater then 0"); } Start = new WeekTime(dayOfWeek, startTime); End = new WeekTime(startTime >= endTime ? dayOfWeek.NextDayOfWeek() : dayOfWeek, endTime); }
static void Main(string[] args) { // Creating WeekTime object for Monday 10 AM; var weekTime = new WeekTime(DayOfWeek.Monday, TimeSpan.FromHours(10)); // Adding 15 hours; The result is Tuesday 1 AM WeekTime addedWeekTime = weekTime + TimeSpan.FromHours(15); // Adding 10 days; The result is Thursday 10 AM WeekTime addedWeekTime2 = weekTime + TimeSpan.FromDays(10); // Adding 12 hours; The result is Monday 10 PM WeekTime addedWeekTime3 = weekTime + TimeSpan.FromHours(12); // Substracting 5 hours; The result is Monday 5 AM WeekTime substractedWeekTime = weekTime - TimeSpan.FromHours(5); // Substracting 5 days; The result is Wednesday 10 AM WeekTime substractedWeekTime2 = weekTime - TimeSpan.FromDays(5); }
/// <summary> /// Initializes a new instance of the WeekTime class. Constructor creates WeekTime /// object from WeekTime object and copies all properties to new object /// </summary> /// <param name="weekTime">DayOfWeek is set from this value</param> public WeekTime(WeekTime weekTime) { Time = weekTime.Time; DayOfWeek = weekTime.DayOfWeek; }
/// <summary> /// Initializes a new instance of the WeekRange class. Constructor creates WeekRange object by selected values /// </summary> /// <param name="start">WeekTime object with starting value</param> /// <param name="end">WeekTime object with end value</param> public WeekRange(WeekTime start, WeekTime end) { Start = start; End = end; }