private void DaySelected(ScheduleDayOfWeek day) { StudentGroups = day.StudentGroups.ToObservableCollection(); if (selectedGroup != null) { GroupSelected(day.StudentGroups.Where(x => x.Name == selectedGroup.Name).First()); } selectedDay = day; }
public TemporalExpressionUnion Create(ISchedule schedule) { if (schedule.DayInterval == DayInterval.None) { throw new ArgumentException("DayInterval must be set for schedules with a weekly frequency."); } var union = new TemporalExpressionUnion(); var daysOfWeek = union.GetFlags(schedule.DayInterval); foreach (var day in daysOfWeek) { var dayOfWeek = new ScheduleDayOfWeek((DayInterval)day); union.Add(dayOfWeek); } return(union); }
private void DateTimePicker_ValueChanged(object sender, EventArgs e) { DateTimePicker dateTimePicker = sender as DateTimePicker; if (dateTimePicker.Value.DayOfWeek == DayOfWeek.Sunday) { return; } ScheduleDayOfWeek scheduleDayOfWeek = (ScheduleDayOfWeek)((int)(dateTimePicker.Value.DayOfWeek) - 1); Presenter.SetDate(dateTimePicker.Value.Date); ScheduleTimes = ScheduleProvider.GetScheduleEntry( Groups[groupComboBox.SelectedIndex].Id, Subjects[subjectComboBox.SelectedIndex].Id, scheduleDayOfWeek); timeComboBox.Enabled = false; timeComboBox.Items.Clear(); timeComboBox.Text = ""; for (int i = 0; i < ScheduleTimes.Count; i++) { timeComboBox.Items.Add(ScheduleTimes[i].Time.ToString("HH;mm")); } DisposeAttendancePanel(); if (ScheduleTimes.Count > 0) { timeComboBox.Enabled = true; timeComboBox.SelectedIndex = 0; Presenter.SetScheduleEntry(ScheduleTimes[timeComboBox.SelectedIndex]); } }
/// <summary> /// Получить расписание для конкретных ключей /// </summary> /// <param name="groupId"></param> /// <param name="subjectId"></param> /// <param name="dayOfWeek"></param> /// <returns></returns> public static IList <ScheduleExtModel> GetScheduleEntry(int groupId, int subjectId, ScheduleDayOfWeek dayOfWeek) { NameValueCollection nvc = new NameValueCollection(); nvc.Add("groupId", groupId.ToString()); nvc.Add("subjectId", subjectId.ToString()); nvc.Add("dayOfWeek", dayOfWeek.ToString()); var api = ApiProviderBase.GetInstance(); IApiResponse <IList <ScheduleExtModel> > response = api.GetRequest <IList <ScheduleExtModel> >(UriResource.concrete_schedule, nvc); var result = response.data as IList <ScheduleExtModel>; return(result); }
/// <summary> /// 指定一个月里最后一个星期的具体日期,默认该日期的0时0分0秒执行 /// </summary> /// <param name="time"></param> /// <param name="weekDay"></param> /// <returns></returns> public static CronScheduleTime SetLastDayOfWeek(this CronScheduleTime time, ScheduleDayOfWeek weekDay) { return(time.SetLastDayOfWeek((int)weekDay)); }
/// <summary> /// 指定一个月里的第几个星期的星期几,每经过该日期执行一次,默认该日期的0时0分0秒 /// </summary> /// <param name="time"></param> /// <param name="week"></param> /// <param name="weekDay"></param> /// <returns></returns> public static CronScheduleTime SetSpecificWeek(this CronScheduleTime time, ScheduleWeek week, ScheduleDayOfWeek weekDay) { time.Second = time.Second.SetDefaultValue(); time.Minute = time.Minute.SetDefaultValue(); time.Hour = time.Hour.SetDefaultValue(); time.Day = "?"; time.Week = $"{(int)week}#{(int)weekDay}"; return(time); }
/// <summary> /// 指定一个月里最后一个星期的具体日期,默认该日期的0时0分0秒执行 /// </summary> public static string SetLastDayOfWeek(ScheduleDayOfWeek weekDay) { return(SetLastDayOfWeek(GetInstant, (int)weekDay).Result); }
/// <summary> /// 指定一个月里的第几个星期的星期几,每经过该日期执行一次,默认该日期的0时0分0秒 /// </summary> /// <param name="week">指定的具体星期</param> /// <param name="weekDay">具体星期几</param> /// <returns></returns> public static string SetSpecificWeek(ScheduleWeek week, ScheduleDayOfWeek weekDay) { return(SetSpecificWeek(GetInstant, week, weekDay).Result); }
/// <summary> /// 指定一个礼拜的具体星期,从startTime开始,endTime结束,默认每日0时0分0秒执行一次 /// </summary> /// <param name="startTime"></param> /// <param name="endTime"></param> /// <returns></returns> public static string SetWeekCycle(ScheduleDayOfWeek startTime, ScheduleDayOfWeek endTime) { return(SetWeekCycle(GetInstant, (int)startTime, (int)endTime).Result); }
//methods public Schedule GetSchedule(string path) { string[,] excel = this.getValuesFromExcel(path); var plan = new Schedule(); plan.Name = excel[0, 0]; int bufor_wiersz = excel.GetLength(0); int bufor_kolumna = excel.GetLength(1); var dzien = new ScheduleDayOfWeek(); dzien.Day = SubjectTimeResolver.Instance.GetDayOfWeekFromString(excel[1, 0]); var grupa = new StudentGroup(); for (int wiersz = 1; wiersz < bufor_wiersz; wiersz++) { Subject aktualnyPrzedmiot = new Subject(); for (int kolumna = 0; kolumna < bufor_kolumna; kolumna++) { if (kolumna == 0 && (!String.IsNullOrEmpty(excel[wiersz, kolumna]) || excel[wiersz, kolumna] == plan.Name)) { if (wiersz + 1 == bufor_wiersz) { // skonczył sie ostatni dzień plan.DaysOfWeek.Add(dzien); } else if (SubjectTimeResolver.Instance.IsValidDay(excel[wiersz + 1, kolumna]) && dzien.Day != SubjectTimeResolver.Instance.GetDayOfWeekFromString(excel[wiersz + 1, kolumna])) { // skonczył się aktualny dzień i zaczyna nowy plan.DaysOfWeek.Add(dzien); dzien = new ScheduleDayOfWeek(); dzien.Day = SubjectTimeResolver.Instance.GetDayOfWeekFromString(excel[wiersz + 1, kolumna]); } } else if (kolumna == 1 && excel[wiersz, kolumna] != "Grupa") { grupa.Name = excel[wiersz, kolumna]; } else { if (!String.IsNullOrEmpty(excel[wiersz, kolumna]))// jest coś w komórce { if (excel[wiersz, kolumna] != aktualnyPrzedmiot.Name) { // zaczyna sie nowy przedmiot i konczy stary lub po prostu zaczyna sie przedmiot if (!String.IsNullOrEmpty(aktualnyPrzedmiot.Name)) { aktualnyPrzedmiot.TimeEnds = Tools.SubjectTimeResolver.Instance.GetMinutesFromCell(kolumna); grupa.Subjects.Add(aktualnyPrzedmiot); } aktualnyPrzedmiot = new Subject(); aktualnyPrzedmiot.TimeStarts = Tools.SubjectTimeResolver.Instance.GetMinutesFromCell(kolumna); aktualnyPrzedmiot.Name = excel[wiersz, kolumna]; } else { // trwa stary } } else // komórka jest pusta { if (!String.IsNullOrEmpty(aktualnyPrzedmiot.Name)) // aktualny przedmiot nie jest pusty { // skonczyl sie aktualny przedmiot aktualnyPrzedmiot.TimeEnds = Tools.SubjectTimeResolver.Instance.GetMinutesFromCell(kolumna); grupa.Subjects.Add(aktualnyPrzedmiot); aktualnyPrzedmiot = new Subject(); } } } } dzien.StudentGroups.Add(grupa); grupa = new StudentGroup(); } return(plan); }