|
@@ -1,21 +1,11 @@
|
|
using esoft.Class;
|
|
using esoft.Class;
|
|
using esoft.Entities;
|
|
using esoft.Entities;
|
|
-using System;
|
|
|
|
using System.CodeDom.Compiler;
|
|
using System.CodeDom.Compiler;
|
|
using System.Collections.Generic;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Linq;
|
|
-using System.Net.NetworkInformation;
|
|
|
|
-using System.Text;
|
|
|
|
-using System.Threading.Tasks;
|
|
|
|
using System.Windows;
|
|
using System.Windows;
|
|
using System.Windows.Controls;
|
|
using System.Windows.Controls;
|
|
-using System.Windows.Data;
|
|
|
|
-using System.Windows.Documents;
|
|
|
|
-using System.Windows.Input;
|
|
|
|
-using System.Windows.Media;
|
|
|
|
-using System.Windows.Media.Imaging;
|
|
|
|
using System.Windows.Navigation;
|
|
using System.Windows.Navigation;
|
|
-using System.Windows.Shapes;
|
|
|
|
|
|
|
|
namespace esoft.Pages
|
|
namespace esoft.Pages
|
|
{
|
|
{
|
|
@@ -24,82 +14,93 @@ namespace esoft.Pages
|
|
/// </summary>
|
|
/// </summary>
|
|
public partial class ServicesPage : Page
|
|
public partial class ServicesPage : Page
|
|
{
|
|
{
|
|
-
|
|
|
|
- ActualContext actualContext = new ActualContext(); //контекст различных таблиц
|
|
|
|
- TaskFill tasks = new TaskFill(); //полученный контекст формы
|
|
|
|
|
|
+ ActualContext actualContext = new ActualContext(); // Контекст таблиц
|
|
|
|
+ TaskFill tasks = new TaskFill(); // Полученный контекст формы
|
|
|
|
+ List<TaskFill> taskContext = new List<TaskFill>(); // Список задач
|
|
|
|
|
|
public ServicesPage()
|
|
public ServicesPage()
|
|
{
|
|
{
|
|
InitializeComponent();
|
|
InitializeComponent();
|
|
DGridTask.ItemsSource = Class.TaskFill.TaskFills();
|
|
DGridTask.ItemsSource = Class.TaskFill.TaskFills();
|
|
-
|
|
|
|
FillForm();
|
|
FillForm();
|
|
}
|
|
}
|
|
|
|
|
|
private void FillForm()
|
|
private void FillForm()
|
|
{
|
|
{
|
|
- ComboStatus.ItemsSource = StatusTask.FillStatus();
|
|
|
|
- switch (tasks.Status)
|
|
|
|
|
|
+ cbStatus.ItemsSource = StatusTask.FillStatus();
|
|
|
|
+
|
|
|
|
+ List<User> usersExecutor = actualContext.Users.Where(user => actualContext.Executor.Any(ex => ex.ID == user.ID)).ToList(); // Получение списка исполнителей
|
|
|
|
+ cbExecutor.ItemsSource = UserInFIO.GroupUser(usersExecutor);
|
|
|
|
+
|
|
|
|
+ List<User> usersManager = actualContext.Users.Where(user => actualContext.Manager.Any(manager => manager.ID == user.ID)).ToList(); // Получение списка менеджеров
|
|
|
|
+ cbManager.ItemsSource = UserInFIO.GroupUser(usersManager);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private void BtnEdit_Click(object sender, RoutedEventArgs e)
|
|
|
|
+ {
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private void BtnAddTask_Click(object sender, RoutedEventArgs e)
|
|
|
|
+ {
|
|
|
|
+ NavigationService.Navigate(new AddEditServicePage());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private void BtnDeleteTask_Click(object sender, RoutedEventArgs e)
|
|
|
|
+ {
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private void FilterTasks()
|
|
|
|
+ {
|
|
|
|
+ // Получение актуальных данных задач из базы или контекста приложения
|
|
|
|
+ taskContext = Class.TaskFill.TaskFills();
|
|
|
|
+
|
|
|
|
+ if (cbStatus.SelectedItem != null)
|
|
{
|
|
{
|
|
- case "запланирована":
|
|
|
|
- ComboStatus.SelectedIndex = 0;
|
|
|
|
- break;
|
|
|
|
- case "исполняется":
|
|
|
|
- ComboStatus.SelectedIndex = 1;
|
|
|
|
- break;
|
|
|
|
- case "выполнена":
|
|
|
|
- ComboStatus.SelectedIndex = 2;
|
|
|
|
- break;
|
|
|
|
- case "отменена":
|
|
|
|
- ComboStatus.SelectedIndex = 3;
|
|
|
|
- break;
|
|
|
|
|
|
+ string selectedStatus = ((StatusTask)cbStatus.SelectedItem).Name;
|
|
|
|
+ taskContext = taskContext.Where(task => task.Status == selectedStatus).ToList();
|
|
}
|
|
}
|
|
|
|
|
|
- List<User> usersExecutor = actualContext.Users;
|
|
|
|
- for (int i = 0; i < usersExecutor.Count; i++)
|
|
|
|
|
|
+ if (cbExecutor.SelectedItem != null)
|
|
{
|
|
{
|
|
- foreach (var ex in actualContext.Executor)
|
|
|
|
- {
|
|
|
|
- if (usersExecutor[i].ID != ex.ID)
|
|
|
|
- {
|
|
|
|
- usersExecutor.Remove(usersExecutor[i]);
|
|
|
|
- break;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
+ string selectedExecutor = cbExecutor.SelectedItem.ToString();
|
|
|
|
+ taskContext = taskContext.Where(task => task.FioUser == selectedExecutor).ToList();
|
|
}
|
|
}
|
|
- ComboExecutor.ItemsSource = UserInFIO.GroupUser(usersExecutor);
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
|
|
|
|
- List<User> usersManager = actualContext.Users;
|
|
|
|
- for (int i = 0; i < usersManager.Count; i++)
|
|
|
|
|
|
+ if (cbManager.SelectedItem != null)
|
|
{
|
|
{
|
|
- foreach (var ex in actualContext.Manager)
|
|
|
|
- {
|
|
|
|
- if (usersManager[i].ID != ex.ID)
|
|
|
|
- {
|
|
|
|
- usersManager.Remove(usersManager[i]);
|
|
|
|
- break;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
+ string selectedManager = cbManager.SelectedItem.ToString();
|
|
|
|
+ taskContext = taskContext.Where(task => task.FioManager == selectedManager).ToList();
|
|
}
|
|
}
|
|
- ComboManager.ItemsSource = UserInFIO.GroupUser(usersManager);
|
|
|
|
|
|
+
|
|
|
|
+ DGridTask.ItemsSource = taskContext;
|
|
}
|
|
}
|
|
|
|
|
|
- private void BtnEdit_Click(object sender, RoutedEventArgs e)
|
|
|
|
|
|
+ private void cbStatus_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
|
{
|
|
{
|
|
|
|
+ FilterTasks();
|
|
|
|
+ }
|
|
|
|
|
|
|
|
+ private void cbExecutor_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
|
|
|
+ {
|
|
|
|
+ FilterTasks();
|
|
}
|
|
}
|
|
|
|
|
|
- private void BtnAddTask_Click(object sender, RoutedEventArgs e)
|
|
|
|
|
|
+ private void cbManager_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
|
{
|
|
{
|
|
- NavigationService.Navigate(new AddEditServicePage());
|
|
|
|
|
|
+ FilterTasks();
|
|
}
|
|
}
|
|
|
|
|
|
- private void BtnDeleteTask_Click(object sender, RoutedEventArgs e)
|
|
|
|
|
|
+ private void btnClearFilter_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
{
|
|
|
|
+ // Очистка выбранных значений комбо боксов
|
|
|
|
+ cbStatus.SelectedItem = null;
|
|
|
|
+ cbExecutor.SelectedItem = null;
|
|
|
|
+ cbManager.SelectedItem = null;
|
|
|
|
|
|
|
|
+ // Очистка фильтров и отображение всех задач без фильтрации
|
|
|
|
+ DGridTask.ItemsSource = Class.TaskFill.TaskFills();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|