|
@@ -46,7 +46,64 @@ namespace esoft.Pages
|
|
|
|
|
|
private void BtnSaveTask_Click(object sender, RoutedEventArgs e)
|
|
|
{
|
|
|
+ // Получение значений из элементов управления формы
|
|
|
+ string title = TBoxTitle.Text;
|
|
|
+ string executorName = cbExecutor.SelectedItem?.ToString();
|
|
|
+ string managerName = cbManager.SelectedItem?.ToString();
|
|
|
+ string status = cbStatus.Text;
|
|
|
+ int complexity = (int)IUDComplexityTask.Value;
|
|
|
+ int time = (int)IUDTimeTask.Value;
|
|
|
+ string nature = cbNatureTask.SelectedItem?.ToString();
|
|
|
+ string description = TBoxDescription.Text;
|
|
|
+ DateTime createDate = DPickerDateCreate.SelectedDate ?? DateTime.Now;
|
|
|
+ DateTime deadline = DPickerDateDeadLine.SelectedDate ?? DateTime.Now;
|
|
|
|
|
|
+ // Проверка на заполнение обязательных полей
|
|
|
+ if (string.IsNullOrWhiteSpace(title) || string.IsNullOrWhiteSpace(executorName) || string.IsNullOrWhiteSpace(managerName) || string.IsNullOrWhiteSpace(status))
|
|
|
+ {
|
|
|
+ MessageBox.Show("Пожалуйста, заполните все обязательные поля!", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ // Поиск исполнителя и менеджера по их именам в контексте
|
|
|
+ var executor = actualContext.Executor.FirstOrDefault(ex => ex.User.Name == executorName);
|
|
|
+ var manager = actualContext.Manager.FirstOrDefault(m => m.User.Name == managerName);
|
|
|
+
|
|
|
+ // Проверка на наличие исполнителя и менеджера
|
|
|
+ if (executor == null || manager == null)
|
|
|
+ {
|
|
|
+ MessageBox.Show("Исполнитель или менеджер не найден!", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ // Создание новой задачи на основе введенных данных
|
|
|
+ esoft.Entities.Task newTask = new esoft.Entities.Task
|
|
|
+ {
|
|
|
+ Title = title,
|
|
|
+ ExecutorID = executor.ID,
|
|
|
+ // Добавьте или измените свойства для ManagerID, если это необходимо
|
|
|
+ Status = status,
|
|
|
+ Difficulty = complexity,
|
|
|
+ Time = time,
|
|
|
+ WorkType = nature,
|
|
|
+ Description = description,
|
|
|
+ CreateDateTime = createDate,
|
|
|
+ Deadline = deadline
|
|
|
+ };
|
|
|
+
|
|
|
+ // Добавление задачи в контекст базы данных
|
|
|
+ var context = esoftEntities.GetContext();
|
|
|
+ context.Task.Add(newTask);
|
|
|
+
|
|
|
+ try
|
|
|
+ {
|
|
|
+ context.SaveChanges(); // Сохранение изменений в базе данных
|
|
|
+ MessageBox.Show("Задача успешно добавлена!", "Успех", MessageBoxButton.OK, MessageBoxImage.Information);
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ MessageBox.Show($"Ошибка при добавлении задачи: {ex.Message}", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|