public void ScheduledPropertyPage_OnLoad(object sender, EventArgs e) { this.textScheduleName.Text = adapterConfiguration.Name; this.checkSuspendMessage.Checked = adapterConfiguration.SuspendMessage; if (adapterConfiguration.Schedule != null) { this.dateStartDate.Value = adapterConfiguration.Schedule.StartDate; this.dateStartTime.Value = adapterConfiguration.Schedule.StartTime; this.comboScheduleType.SelectedItem = adapterConfiguration.Schedule.Type; switch (adapterConfiguration.Schedule.Type) { case ScheduleType.Daily: //set Daily schedule properties DaySchedule daySchedule = adapterConfiguration.Schedule as DaySchedule; this.updownDayInterval.Value = Convert.ToDecimal(daySchedule.Interval); //if (this.updownDayInterval.Value == 0) --- to be removed if (daySchedule.ScheduledDays != ScheduleDay.None) { ScheduleDay days = daySchedule.ScheduledDays; if ((days & ScheduleDay.Sunday) > 0) { checkDaySunday.Checked = true; } if ((days & ScheduleDay.Monday) > 0) { checkDayMonday.Checked = true; } if ((days & ScheduleDay.Tuesday) > 0) { checkDayTuesday.Checked = true; } if ((days & ScheduleDay.Wednesday) > 0) { checkDayWednesday.Checked = true; } if ((days & ScheduleDay.Thursday) > 0) { checkDayThursday.Checked = true; } if ((days & ScheduleDay.Friday) > 0) { checkDayFriday.Checked = true; } if ((days & ScheduleDay.Saturday) > 0) { checkDaySaturday.Checked = true; } //radioDayInterval.Checked = false; --- to be removed radioSelectDays.Checked = true; } else { radioDayInterval.Checked = true; } break; case ScheduleType.Weekly: //set Weekly schedule properties WeekSchedule weekSchedule = adapterConfiguration.Schedule as WeekSchedule; this.updownWeekInterval.Value = weekSchedule.Interval; ScheduleDay weekDays = weekSchedule.ScheduledDays; if ((weekDays & ScheduleDay.Sunday) > 0) { checkWeekSunday.Checked = true; } if ((weekDays & ScheduleDay.Monday) > 0) { checkWeekMonday.Checked = true; } if ((weekDays & ScheduleDay.Tuesday) > 0) { checkWeekTuesday.Checked = true; } if ((weekDays & ScheduleDay.Wednesday) > 0) { checkWeekWednesday.Checked = true; } if ((weekDays & ScheduleDay.Thursday) > 0) { checkWeekThursday.Checked = true; } if ((weekDays & ScheduleDay.Friday) > 0) { checkWeekFriday.Checked = true; } if ((weekDays & ScheduleDay.Saturday) > 0) { checkWeekSaturday.Checked = true; } break; case ScheduleType.Monthly: //set Monthly schedule properties MonthSchedule monthSchedule = adapterConfiguration.Schedule as MonthSchedule; this.updownDayofMonth.Value = monthSchedule.Day; if (this.updownDayofMonth.Value == 0) { this.comboOrdinal.SelectedItem = monthSchedule.Ordinal; this.comboWeekday.SelectedItem = monthSchedule.WeekDay; radioDayofMonth.Checked = false; } else { radioDayofMonth.Checked = true; } ScheduleMonth months = monthSchedule.ScheduledMonths; if ((months & ScheduleMonth.January) > 0) { checkJanuary.Checked = true; } if ((months & ScheduleMonth.February) > 0) { checkFebruary.Checked = true; } if ((months & ScheduleMonth.March) > 0) { checkMarch.Checked = true; } if ((months & ScheduleMonth.April) > 0) { checkApril.Checked = true; } if ((months & ScheduleMonth.May) > 0) { checkMay.Checked = true; } if ((months & ScheduleMonth.June) > 0) { checkJune.Checked = true; } if ((months & ScheduleMonth.July) > 0) { checkJuly.Checked = true; } if ((months & ScheduleMonth.August) > 0) { checkAugust.Checked = true; } if ((months & ScheduleMonth.September) > 0) { checkSeptember.Checked = true; } if ((months & ScheduleMonth.October) > 0) { checkOctober.Checked = true; } if ((months & ScheduleMonth.November) > 0) { checkNovember.Checked = true; } if ((months & ScheduleMonth.December) > 0) { checkDecember.Checked = true; } break; case ScheduleType.TimeSpan: //set Timespan schedule properties TimeSpanSchedule timeSchedule = adapterConfiguration.Schedule as TimeSpanSchedule; int timeinseconds = timeSchedule.Interval; if (timeinseconds % 3600 == 0) { this.updownTimeInterval.Value = (timeinseconds / 3600); this.comboTimeUnits.SelectedItem = ScheduleTimeUnit.Hours; } else if (timeinseconds % 60 == 0) { this.updownTimeInterval.Value = (timeinseconds / 60); this.comboTimeUnits.SelectedItem = ScheduleTimeUnit.Minutes; } else { this.updownTimeInterval.Value = timeinseconds; this.comboTimeUnits.SelectedItem = ScheduleTimeUnit.Seconds; } break; default: break; } } if (adapterConfiguration.Task != null) { this.taskType = adapterConfiguration.Task.TaskType; this.textTaskClass.Text = adapterConfiguration.Task.TaskType.AssemblyQualifiedName; this.propertyGridTask.SelectedObject = adapterConfiguration.Task.TaskParameters; } }
public bool Apply() { if (!Validate()) { return(false); } this.adapterConfiguration.Name = this.textScheduleName.Text; this.adapterConfiguration.Uri = string.Format("schedule://{0}/{1}", this.comboScheduleType.SelectedItem, this.textScheduleName.Text); this.adapterConfiguration.SuspendMessage = this.checkSuspendMessage.Checked; #region Schedule Schedule schedule = null; switch ((ScheduleType)this.comboScheduleType.SelectedItem) { case ScheduleType.TimeSpan: schedule = new TimeSpanSchedule(); schedule.StartDate = this.dateStartDate.Value; schedule.StartTime = this.dateStartTime.Value; int interval = 0; switch ((ScheduleTimeUnit)this.comboTimeUnits.SelectedItem) { case ScheduleTimeUnit.Seconds: interval = Convert.ToInt32(this.updownTimeInterval.Value); break; case ScheduleTimeUnit.Minutes: interval = Convert.ToInt32(this.updownTimeInterval.Value * 60); break; case ScheduleTimeUnit.Hours: interval = Convert.ToInt32(this.updownTimeInterval.Value * 3600); break; default: interval = 3600; break; } ((TimeSpanSchedule)schedule).Interval = interval; break; case ScheduleType.Daily: schedule = new DaySchedule(); schedule.StartDate = this.dateStartDate.Value; schedule.StartTime = this.dateStartTime.Value; if (radioDayInterval.Checked) { ((DaySchedule)schedule).Interval = Convert.ToInt32(this.updownDayInterval.Value); ((DaySchedule)schedule).ScheduledDays = ScheduleDay.None; } else { ScheduleDay days = ScheduleDay.None; if (checkDaySunday.Checked) { days |= ScheduleDay.Sunday; } if (checkDayMonday.Checked) { days |= ScheduleDay.Monday; } if (checkDayTuesday.Checked) { days |= ScheduleDay.Tuesday; } if (checkDayWednesday.Checked) { days |= ScheduleDay.Wednesday; } if (checkDayThursday.Checked) { days |= ScheduleDay.Thursday; } if (checkDayFriday.Checked) { days |= ScheduleDay.Friday; } if (checkDaySaturday.Checked) { days |= ScheduleDay.Saturday; } ((DaySchedule)schedule).ScheduledDays = days; ((DaySchedule)schedule).Interval = 0; } break; case ScheduleType.Weekly: schedule = new WeekSchedule(); schedule.StartDate = this.dateStartDate.Value; schedule.StartTime = this.dateStartTime.Value; ((WeekSchedule)schedule).Interval = Convert.ToInt32(this.updownWeekInterval.Value); ScheduleDay weekDays = ScheduleDay.None; if (checkWeekSunday.Checked) { weekDays |= ScheduleDay.Sunday; } if (checkWeekMonday.Checked) { weekDays |= ScheduleDay.Monday; } if (checkWeekTuesday.Checked) { weekDays |= ScheduleDay.Tuesday; } if (checkWeekWednesday.Checked) { weekDays |= ScheduleDay.Wednesday; } if (checkWeekThursday.Checked) { weekDays |= ScheduleDay.Thursday; } if (checkWeekFriday.Checked) { weekDays |= ScheduleDay.Friday; } if (checkWeekSaturday.Checked) { weekDays |= ScheduleDay.Saturday; } ((WeekSchedule)schedule).ScheduledDays = weekDays; break; case ScheduleType.Monthly: schedule = new MonthSchedule(); schedule.StartDate = this.dateStartDate.Value; schedule.StartTime = this.dateStartTime.Value; if (radioDayofMonth.Checked) { ((MonthSchedule)schedule).Day = Convert.ToInt32(this.updownDayofMonth.Value); } else { ((MonthSchedule)schedule).Ordinal = (ScheduleOrdinal)this.comboOrdinal.SelectedItem; ((MonthSchedule)schedule).WeekDay = (ScheduleDay)this.comboWeekday.SelectedItem; } ScheduleMonth months = ScheduleMonth.None; if (checkJanuary.Checked) { months |= ScheduleMonth.January; } if (checkFebruary.Checked) { months |= ScheduleMonth.February; } if (checkMarch.Checked) { months |= ScheduleMonth.March; } if (checkApril.Checked) { months |= ScheduleMonth.April; } if (checkMay.Checked) { months |= ScheduleMonth.May; } if (checkJune.Checked) { months |= ScheduleMonth.June; } if (checkJuly.Checked) { months |= ScheduleMonth.July; } if (checkAugust.Checked) { months |= ScheduleMonth.August; } if (checkSeptember.Checked) { months |= ScheduleMonth.September; } if (checkOctober.Checked) { months |= ScheduleMonth.October; } if (checkNovember.Checked) { months |= ScheduleMonth.November; } if (checkDecember.Checked) { months |= ScheduleMonth.December; } ((MonthSchedule)schedule).ScheduledMonths = months; break; default: break; } adapterConfiguration.Schedule = schedule; #endregion #region Task Task task = new Task(); task.TaskType = this.taskType; task.TaskParameters = propertyGridTask.SelectedObject; this.adapterConfiguration.Task = task; #endregion return(true); }
static void Main(string[] args) { /* * University universityA = new University("CHDTU"); * var student1 = new Student("Andrew Kostenko", new Knowledge(78)); * var student2 = new Student("Julia Veselkina", new Knowledge(92)); * var student3 = new Student("Maria Perechrest", new Knowledge(60)); * universityA.AddStudent(student1); * universityA.AddStudent(student2); * universityA.AddStudent(student3); * * Internship internLink = new Internship("Interlink"); * internLink.AddStudent(student1, universityA); * internLink.AddStudent(student2, universityA); * internLink.AddStudent(student3, universityA); * Console.WriteLine("List of internship's students:"); * Console.WriteLine(internLink.GetStudents()); */ var student1 = new Student("Andrew Kostenko", new Knowledge(60, 60), 0.5f, true); var student2 = new Student("Andrew NeKostenko", new Knowledge(60, 60), 0.5f, true); var student3 = new Student("NeAndrew Kostenko", new Knowledge(60, 60), 0.5f, false); var student4 = new Student("NeAndrew NeKostenko", new Knowledge(60, 60), 0.5f, true); University universityA = new University("CHDTU"); universityA.AddStudent(student1); universityA.AddStudent(student2); universityA.AddStudent(student3); universityA.AddStudent(student4); University universityB = new University("CHNU"); universityB.AddStudent(student4); Internship internLink = new Internship("Interlink"); internLink.AddStudent(student1, universityA); internLink.AddStudent(student2, universityA); internLink.AddStudent(student3, universityB); internLink.AddStudent(student4, universityB); Meetup meetup = new Meetup("Митап"); selfTaught selfTaught = new selfTaught(); ISchedule workingDays = new DoWSchedule(DayOfWeek.Monday, DayOfWeek.Tuesday, DayOfWeek.Wednesday, DayOfWeek.Tuesday, DayOfWeek.Friday); ISchedule weekends = new DoWSchedule(DayOfWeek.Saturday, DayOfWeek.Sunday); ISchedule everyDays = new JoinSchedule(workingDays, weekends); ISchedule excludeSummer = new MonthSchedule(1, 2, 3, 4, 5, 9, 10, 11, 12); ISchedule academicSchedule = new JoinSchedule(excludeSummer, workingDays); ISchedule daysInLastWInMonth = new LastWoMSchedule(DayOfWeek.Friday); Plan pacificPlan = new Plan("Пацифист"); pacificPlan.addTask(universityA, new Period(new DateTime(2015, 9, 1), new DateTime(2020, 7, 20)), academicSchedule); pacificPlan.addTask(universityB, new Period(new DateTime(2020, 9, 1), new DateTime(2022, 7, 20)), academicSchedule); Plan selfTaughtPlan = new Plan("Самоучка"); selfTaughtPlan.addTask(internLink, new Period(new DateTime(2018, 9, 1), new DateTime(2020, 7, 20)), workingDays); selfTaughtPlan.addTask(meetup, daysInLastWInMonth); selfTaughtPlan.addTask(selfTaught, everyDays); Plan teachMEPlan = new Plan("Терпила"); teachMEPlan.addTask(universityA, new Period(new DateTime(2018, 9, 1), new DateTime(2020, 7, 20)), academicSchedule); teachMEPlan.addTask(meetup, new Period(new DateTime(2018, 9, 1), new DateTime(2020, 7, 20)), daysInLastWInMonth); teachMEPlan.addTask(new Period(new DateTime(2018, 9, 1), new DateTime(2020, 7, 20)), everyDays); Plan enlightenedPlan = new Plan("Сознательный"); enlightenedPlan.addTask(universityA, new Period(new DateTime(2015, 9, 1), new DateTime(2020, 7, 20)), academicSchedule); enlightenedPlan.addTask(meetup, daysInLastWInMonth); enlightenedPlan.addTask(internLink, new Period(new DateTime(2018, 9, 1), new DateTime(2020, 7, 20)), workingDays); enlightenedPlan.addTask(selfTaught, everyDays); enlightenedPlan.addTask(student2, weekends); pacificPlan.teachStudent(student1, new Period(new DateTime(2015, 9, 1), new DateTime(2022, 7, 20))); selfTaughtPlan.teachStudent(student2, new Period(new DateTime(2015, 9, 1), new DateTime(2022, 7, 20))); teachMEPlan.teachStudent(student3, new Period(new DateTime(2015, 9, 1), new DateTime(2022, 7, 20))); enlightenedPlan.teachStudent(student4, new Period(new DateTime(2015, 9, 1), new DateTime(2022, 7, 20))); Console.WriteLine(student1.GetKnowledgePract() + " " + student1.GetKnowledgeTheory()); Console.WriteLine(student2.GetKnowledgePract() + " " + student2.GetKnowledgeTheory()); Console.WriteLine(student3.GetKnowledgePract() + " " + student3.GetKnowledgeTheory()); Console.WriteLine(student4.GetKnowledgePract() + " " + student4.GetKnowledgeTheory()); }