AddTask.xaml.cs 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Windows;
  7. using System.Windows.Controls;
  8. using System.Windows.Data;
  9. using System.Windows.Documents;
  10. using System.Windows.Input;
  11. using System.Windows.Media;
  12. using System.Windows.Media.Imaging;
  13. using System.Windows.Navigation;
  14. using System.Windows.Shapes;
  15. using System.Data.Entity.Migrations;
  16. using System.Linq.Expressions;
  17. namespace ROGOZ.Pages
  18. {
  19. /// <summary>
  20. /// Логика взаимодействия для AddTask.xaml
  21. /// </summary>
  22. public partial class AddTask : Page
  23. {
  24. private Task _currentTask = new Task();
  25. public AddTask()
  26. {
  27. InitializeComponent();
  28. }
  29. public AddTask(Task selectedTask)
  30. {
  31. InitializeComponent();
  32. StatusBox.ItemsSource = Status.FillStatus();
  33. ExecutorBox.ItemsSource = user1Entities.GetContext().Executor.ToList();
  34. ManagerBox.ItemsSource = user1Entities.GetContext().Manager.ToList();
  35. }
  36. private void Button_Click(object sender, RoutedEventArgs e)
  37. {
  38. NavigationService.GoBack();
  39. }
  40. private void NewTaskSave_Click(object sender, RoutedEventArgs e)
  41. {
  42. var errorMessage = CheckErrors();
  43. if (errorMessage.Length > 0)
  44. {
  45. MessageBox.Show(errorMessage, "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
  46. }
  47. else
  48. {
  49. if (_currentTask != null)
  50. {
  51. var selectedTask = new Task
  52. {
  53. Title = TaskName.Text,
  54. Status = StatusBox.Text,
  55. ExecutorID = int.Parse(ExecutorBox.Text),
  56. };
  57. user1Entities.GetContext().Task.Add(_currentTask);
  58. user1Entities.GetContext().SaveChanges();
  59. //App.Context.Task.Add(selectedTask);
  60. //App.Context.SaveChanges();
  61. //MessageBox.Show("Добавление успешно выполнено");
  62. //NavigationService.GoBack();
  63. }
  64. NavigationService.GoBack();
  65. }
  66. //StringBuilder errors = new StringBuilder();
  67. //if (string.IsNullOrEmpty(_currentTask.Title))
  68. // errors.AppendLine("Укажите название задачи");
  69. //if (_currentTask.Status == null)
  70. // errors.AppendLine("Выберите статус задачи");
  71. //if (_currentTask.Executor == null)
  72. // errors.AppendLine("Выберите исполнителя");
  73. //if (errors.Length > 0)
  74. //{
  75. // MessageBox.Show(errors.ToString());
  76. // return;
  77. //}
  78. //if (_currentTask.ID == 0)
  79. // user1Entities.GetContext().Task.Add(_currentTask);
  80. //try
  81. //{
  82. // user1Entities.GetContext().SaveChanges();
  83. // MessageBox.Show("Задача добавлена");
  84. // NavigationService.GoBack();
  85. //}
  86. //catch (Exception ex)
  87. //{
  88. // MessageBox.Show(ex.Message.ToString());
  89. //}
  90. }
  91. private string CheckErrors()
  92. {
  93. var errorBuilder = new StringBuilder();
  94. //Проверка на заполнение наименования Задачи
  95. if (string.IsNullOrWhiteSpace(TaskName.Text))
  96. errorBuilder.AppendLine("Название задачи обязательно для заполнения");
  97. //if (_currentTask.Status == null)
  98. // errorBuilder.AppendLine("Выберите статус задачи");
  99. //if (_currentTask.Executor == null)
  100. // errorBuilder.AppendLine("Выберите исполнителя");
  101. //Просто вывод ошибок, которые нужно исправить
  102. if (errorBuilder.Length > 0)
  103. {
  104. errorBuilder.Insert(0, "Устраните следующие ошибки:\n");
  105. }
  106. return errorBuilder.ToString();
  107. }
  108. }
  109. }