public void WorkWithWeekDay() { // ExStart // ExFor: WeekDay // ExFor: WeekDay.#ctor // ExFor: WeekDay.#ctor(DayType) // ExFor: WeekDay.#ctor(DayType,IEnumerable{Aspose.Tasks.WorkingTime}) // ExFor: WeekDay.CreateDefaultWorkingDay(DayType) // ExFor: WeekDay.WorkingTimes // ExFor: WeekDay.GetWorkingTime() // ExFor: WeekDay.DayWorking // ExFor: WeekDay.CastToDayType(DayOfWeek) // ExFor: WeekDay.DayType // ExFor: WeekDay.FromDate // ExFor: WeekDay.ToDate // ExSummary: Shows how to create a new calendar by defining of week days. var project = new Project(); // Define a calendar var calendar = project.Calendars.Add("Calendar1"); // Add working days monday through thursday with default timings calendar.WeekDays.Add(WeekDay.CreateDefaultWorkingDay(DayType.Monday)); calendar.WeekDays.Add(WeekDay.CreateDefaultWorkingDay(DayType.Tuesday)); calendar.WeekDays.Add(WeekDay.CreateDefaultWorkingDay(DayType.Wednesday)); calendar.WeekDays.Add(WeekDay.CreateDefaultWorkingDay(DayType.Thursday)); var exceptionDay = WeekDay.CreateDefaultWorkingDay(DayType.Exception); exceptionDay.FromDate = new DateTime(2020, 4, 27, 0, 0, 0); exceptionDay.ToDate = new DateTime(2020, 4, 30, 0, 0, 0); exceptionDay.DayWorking = false; calendar.WeekDays.Add(exceptionDay); // check from and to dates of the exception day Console.WriteLine("The from date is: " + exceptionDay.FromDate); Console.WriteLine("The to date is: " + exceptionDay.ToDate); Console.WriteLine(); calendar.WeekDays.Add(new WeekDay(DayType.Saturday)); calendar.WeekDays.Add(new WeekDay(DayType.Sunday)); // Set friday as short working day // Sets working time. Only time part of DateTime is important var workingTime = new WorkingTime(); workingTime.FromTime = new DateTime(1, 1, 1, 9, 0, 0, 0); workingTime.ToTime = new DateTime(1, 1, 1, 12, 0, 0, 0); var workingTime2 = new WorkingTime(); workingTime2.FromTime = new DateTime(1, 1, 1, 13, 0, 0, 0); workingTime2.ToTime = new DateTime(1, 1, 1, 16, 0, 0, 0); var workingTimes = new List <WorkingTime> { workingTime, workingTime2 }; // there is a way to convert <see cref="DayOfWeek" /> to <see cref="Aspose.Tasks.DayType" />. var dayType = WeekDay.CastToDayType(DayOfWeek.Friday); var weekDay = new WeekDay(dayType, workingTimes); weekDay.DayWorking = true; Console.WriteLine("The day type is: " + weekDay.DayType); Console.WriteLine("The from date is: " + weekDay.FromDate); Console.WriteLine("The to date is: " + weekDay.ToDate); calendar.WeekDays.Add(weekDay); // lets print all working times foreach (var day in calendar.WeekDays) { Console.WriteLine("Day Type: " + day.DayType); Console.WriteLine("Is working day: " + day.DayWorking); Console.WriteLine("Working Time (Hours): " + day.GetWorkingTime().TotalHours); Console.WriteLine(); } // ExEnd }