public static void WorkWithWorkWeek() { // ExStart // ExFor: WorkWeek // ExFor: WorkWeek.#ctor // ExFor: WorkWeek.Name // ExFor: WorkWeek.ParentCalendar // ExFor: WorkWeek.FromDate // ExFor: WorkWeek.ToDate // ExFor: WorkWeek.WeekDays // ExSummary: Shows how to read work week information from the project. var project = new Project(); var calendar = project.Calendars.Add("Standard"); Calendar.MakeStandardCalendar(calendar); var item = new WorkWeek(calendar); item.Name = "My Work Week"; item.FromDate = new DateTime(2020, 4, 13, 8, 0, 0); item.ToDate = new DateTime(2020, 4, 17, 17, 0, 0); item.WeekDays.Add(WeekDay.CreateDefaultWorkingDay(DayType.Monday)); item.WeekDays.Add(WeekDay.CreateDefaultWorkingDay(DayType.Tuesday)); item.WeekDays.Add(WeekDay.CreateDefaultWorkingDay(DayType.Wednesday)); item.WeekDays.Add(WeekDay.CreateDefaultWorkingDay(DayType.Thursday)); item.WeekDays.Add(WeekDay.CreateDefaultWorkingDay(DayType.Friday)); item.WeekDays.Add(new WeekDay(DayType.Saturday)); item.WeekDays.Add(new WeekDay(DayType.Sunday)); calendar.WorkWeeks.Add(item); Console.WriteLine("Work Week Number: " + calendar.WeekDays.Count); foreach (var workWeek in calendar.WorkWeeks) { // Display work week name, parent calendar name, from, and to dates Console.WriteLine("Name: " + workWeek.Name); Console.WriteLine("Parent calendar name: " + workWeek.ParentCalendar.Name); Console.WriteLine("From Date: " + workWeek.FromDate); Console.WriteLine("To Date: " + workWeek.ToDate); Console.WriteLine(); // This data is all about "Details." button you can set special working times for special WeekDay or even make it nonworking List <WeekDay> weekDays = workWeek.WeekDays.ToList(); foreach (var day in weekDays) { Console.WriteLine(day.DayType.ToString()); // You can further traverse through working times and display these foreach (var workingTime in day.WorkingTimes) { Console.WriteLine(workingTime.FromTime); Console.WriteLine(workingTime.ToTime); } } Console.WriteLine(); } // ExEnd }
public static void Run() { // ExStart:DefineWeekdaysForCalendar // This example shows how Aspose.Tasks API can be used to define a new Calendar, add week days to it and define working times for days // Create a project instance Project project = new Project(); // Define Calendar Aspose.Tasks.Calendar cal = project.Calendars.Add("Calendar1"); // Add working days monday through thursday with default timings cal.WeekDays.Add(WeekDay.CreateDefaultWorkingDay(DayType.Monday)); cal.WeekDays.Add(WeekDay.CreateDefaultWorkingDay(DayType.Tuesday)); cal.WeekDays.Add(WeekDay.CreateDefaultWorkingDay(DayType.Wednesday)); cal.WeekDays.Add(WeekDay.CreateDefaultWorkingDay(DayType.Thursday)); cal.WeekDays.Add(new WeekDay(DayType.Saturday)); cal.WeekDays.Add(new WeekDay(DayType.Sunday)); // Set friday as short working day WeekDay myWeekDay = new WeekDay(DayType.Friday); // Sets working time. Only time part of DateTime is important WorkingTime wt1 = new WorkingTime(); wt1.FromTime = new DateTime(1, 1, 1, 9, 0, 0, 0); wt1.ToTime = new DateTime(1, 1, 1, 12, 0, 0, 0); WorkingTime wt2 = new WorkingTime(); wt2.FromTime = new DateTime(1, 1, 1, 13, 0, 0, 0); wt2.ToTime = new DateTime(1, 1, 1, 16, 0, 0, 0); myWeekDay.WorkingTimes.Add(wt1); myWeekDay.WorkingTimes.Add(wt2); myWeekDay.DayWorking = true; cal.WeekDays.Add(myWeekDay); // Save the Project string dataDir = RunExamples.GetDataDir_Projects(); project.Save("Project.xml", Aspose.Tasks.Saving.SaveFileFormat.XML); // ExEnd:DefineWeekdaysForCalendar }
public void DefineWeekdaysForCalendar() { // ExStart:DefineWeekdaysForCalendar // ExFor: Calendar // ExFor: Calendar.WeekDays // ExFor: Aspose.Tasks.DayType // ExSummary: Shows how to define a new calendar, add week days to it and define working times for 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)); calendar.WeekDays.Add(new WeekDay(DayType.Saturday)); calendar.WeekDays.Add(new WeekDay(DayType.Sunday)); // Set friday as short working day var weekDay = new WeekDay(DayType.Friday); // 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); weekDay.WorkingTimes.Add(workingTime); weekDay.WorkingTimes.Add(workingTime2); weekDay.DayWorking = true; calendar.WeekDays.Add(weekDay); // working with the project... // ExEnd:DefineWeekdaysForCalendar }
public void CreateCustomizedWeekDayCollection() { // ExStart // ExFor: WeekDayCollection // ExFor: WeekDayCollection.Add(WeekDay) // ExFor: WeekDayCollection.Clear // ExFor: WeekDayCollection.Contains(WeekDay) // ExFor: WeekDayCollection.Insert(Int32,WeekDay) // ExFor: WeekDayCollection.Item(Int32) // ExFor: WeekDayCollection.Count // ExFor: WeekDayCollection.GetEnumerator // ExFor: WeekDayCollection.ParentCalendar // ExFor: WeekDayCollection.Remove(WeekDay) // ExFor: WeekDayCollection.RemoveAt(Int32) // ExFor: WeekDayCollection.ToList // ExFor: WeekDayCollection.IndexOf(WeekDay) // ExFor: WeekDayCollection.CopyTo(WeekDay[],Int32) // ExSummary: Shows how to work week day collections. var project = new Project(); var calendar = project.Calendars.GetByName("Standard"); // clear week days calendar.WeekDays.Clear(); 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)); calendar.WeekDays.Add(WeekDay.CreateDefaultWorkingDay(DayType.Friday)); var saturday = WeekDay.CreateDefaultWorkingDay(DayType.Saturday); var sunday = WeekDay.CreateDefaultWorkingDay(DayType.Sunday); calendar.WeekDays.Add(saturday); calendar.WeekDays.Add(sunday); var fridayWorkingTimes = new List <WorkingTime> { new WorkingTime(new DateTime(2020, 4, 13, 8, 0, 0), new DateTime(2020, 4, 13, 12, 0, 0)) }; var friday = new WeekDay(DayType.Friday, fridayWorkingTimes); if (calendar.WeekDays.Contains(friday)) { calendar.WeekDays.Insert(4, friday); } Console.WriteLine("Calendar: " + calendar.WeekDays.ParentCalendar.Name); Console.WriteLine("Week days count: " + calendar.WeekDays.Count); foreach (var day in calendar.WeekDays) { Console.WriteLine(day.DayType); foreach (var workingTime in day.WorkingTimes) { Console.WriteLine("From: " + workingTime.FromTime); Console.WriteLine("To: " + workingTime.ToTime); Console.WriteLine(); } } // remove saturday week day calendar.WeekDays.RemoveAt(5); // remove sunday week day if (calendar.WeekDays.IndexOf(saturday) > 0) { calendar.WeekDays.Remove(sunday); } Console.WriteLine("Working times after weekend was removed: "); List <WeekDay> weekDays = calendar.WeekDays.ToList(); foreach (var day in weekDays) { Console.WriteLine(day.DayType); foreach (var workingTime in day.WorkingTimes) { Console.WriteLine("From: " + workingTime.FromTime); Console.WriteLine("To: " + workingTime.ToTime); Console.WriteLine(); } } var hour24Calendar = project.Calendars.Add("24 Hours"); Calendar.Make24HourCalendar(hour24Calendar); // copy week days var weekDaysArray = new WeekDay[calendar.WeekDays.Count]; calendar.WeekDays.CopyTo(weekDaysArray, 0); foreach (var weekDay in weekDaysArray) { hour24Calendar.WeekDays.Add(weekDay); } // ExEnd }
public void CreateCustomizedWorkingTimeCollection() { // ExStart // ExFor: WorkingTimeCollection // ExFor: WorkingTimeCollection.Add(WorkingTime) // ExFor: WorkingTimeCollection.Count // ExFor: WorkingTimeCollection.GetEnumerator // ExFor: WorkingTimeCollection.Remove(WorkingTime) // ExFor: WorkingTimeCollection.ToList // ExSummary: Shows how to work with working time collection. var project = new Project(); var calendar = project.Calendars.Add("Custom Calendar"); 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)); calendar.WeekDays.Add(WeekDay.CreateDefaultWorkingDay(DayType.Friday)); var saturdayWorkingTimes = new List <WorkingTime> { new WorkingTime(new DateTime(2020, 4, 13, 8, 0, 0), new DateTime(2020, 4, 13, 12, 0, 0)), new WorkingTime(new DateTime(2020, 4, 13, 13, 0, 0), new DateTime(2020, 4, 13, 15, 0, 0)) }; var saturday = new WeekDay(DayType.Saturday); foreach (var time in saturdayWorkingTimes) { saturday.WorkingTimes.Add(time); } // print working times of Saturday Console.WriteLine("Saturday working period number: " + saturday.WorkingTimes.Count); foreach (var time in saturday.WorkingTimes) { Console.WriteLine("From Time: " + time.FromTime); Console.WriteLine("To Time: " + time.ToTime); } Console.WriteLine(); var sundayWorkingTimes = new List <WorkingTime> { new WorkingTime(new DateTime(2020, 4, 13, 10, 0, 0), new DateTime(2020, 4, 13, 15, 0, 0)) }; var sunday = new WeekDay(DayType.Sunday, sundayWorkingTimes); // print working times of sunday List <WorkingTime> workingTimes = sunday.WorkingTimes.ToList(); Console.WriteLine("Sunday working period number: " + workingTimes.Count); for (var index = 0; index < workingTimes.Count; index++) { var time = workingTimes[index]; Console.WriteLine("From Time: " + time.FromTime); Console.WriteLine("To Time: " + time.ToTime); } Console.WriteLine(); calendar.WeekDays.Add(saturday); calendar.WeekDays.Add(sunday); foreach (var day in calendar.WeekDays) { Console.WriteLine(day.DayType + ": "); // You can further traverse through working times and display these foreach (var workingTime in day.WorkingTimes) { Console.WriteLine(workingTime.FromTime); Console.WriteLine(workingTime.ToTime); } Console.WriteLine(); } // ExEnd }
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 }