/// <summary> /// Создать задачу и добавить в лист /// </summary> /// <param name="time">Дата смены расписания</param> /// <param name="type">Тип расписания на который сменить</param> public void CreateTask(DateTime time, GlobalSetting.typeSheduleActive type) { Task task = new Task(); task.timeSwitch = time; task.type = type; Tasks.Add(task); UpdateUIListTasks(); }
//Добавление задачи private void addTask_Click(object sender, RoutedEventArgs e) { try { int day = int.Parse(tb_day.Text); int month = int.Parse(tb_month.Text); DateTime dateTime; GlobalSetting.typeSheduleActive type = new GlobalSetting.typeSheduleActive(); //Назначение тайпа if (rb_main.IsChecked == true) { type = GlobalSetting.typeSheduleActive.mainSchedule; } else if (rb_reduced.IsChecked == true) { type = GlobalSetting.typeSheduleActive.reducedSchedule; } else if (rb_trainingAllertCall.IsChecked == true) { type = GlobalSetting.typeSheduleActive.trainingAllertCall; } if (type == GlobalSetting.typeSheduleActive.trainingAllertCall) { int hour = int.Parse(tb_hour_box.Text); int minutes = int.Parse(tb_minutes_box.Text); dateTime = new DateTime(DateTime.Now.Year, month, day, hour, minutes, 0); } else { dateTime = new DateTime(DateTime.Now.Year, month, day); } CreateTask(dateTime, type); } catch (Exception ex) { MessageBox.Show("Ошибка! Проверьте правильность данных " + ex.ToString()); } }
/// <summary> /// Создание структуры XAML для задачи /// </summary> /// <param name="date"></param> /// <param name="type"></param> /// <param name="id">Позиция где находиться задача в листе задач</param> private void CreateUIGridTask(DateTime date, GlobalSetting.typeSheduleActive type, int id) { Grid mainGrid = new Grid(); Grid grid = new Grid(); grid.RowDefinitions.Add(new RowDefinition()); grid.RowDefinitions.Add(new RowDefinition()); grid.ColumnDefinitions.Add(new ColumnDefinition()); ColumnDefinition column = new ColumnDefinition(); column.Width = new GridLength(20); grid.ColumnDefinitions.Add(column); TextBlock tbDate = new TextBlock(); tbDate.Text = $"Дата изменения {date.Day}.{date.Month}.{date.Year}"; tbDate.Margin = new Thickness(12, 5, 0, 0); TextBlock tbType = new TextBlock(); tbType.Margin = new Thickness(12, 0, 0, 0); switch (type) { case GlobalSetting.typeSheduleActive.mainSchedule: tbType.Text = "Изменить на основное расписание"; break; case GlobalSetting.typeSheduleActive.reducedSchedule: tbType.Text = "Изменить на сокращённое расписание"; break; case GlobalSetting.typeSheduleActive.trainingAllertCall: tbDate.Text = $"Дата изменения {date.Day}.{date.Month}.{date.Year} время {date.Hour}:{date.Minute}"; tbType.Text = "Учебная тревога"; break; } Button btn = new Button(); btn.Name = "id" + id.ToString(); btn.Content = "X"; btn.Foreground = Brushes.White; btn.Background = Brushes.Red; btn.Click += Btn_Click; Grid.SetRow(tbDate, 0); Grid.SetColumn(tbDate, 0); Grid.SetRow(tbType, 1); Grid.SetColumn(tbType, 0); Grid.SetRow(btn, 0); Grid.SetColumn(btn, 1); grid.Children.Add(tbDate); grid.Children.Add(tbType); grid.Children.Add(btn); grid.Background = Brushes.LightGray; grid.Margin = new Thickness(0, 0, 0, 5); mainGrid.Children.Add(grid); sp_listTask.Children.Add(mainGrid); SaveTaskXML(); //Сохранение листа }