using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; 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.Shapes; namespace ROGOZ.Pages { /// /// Логика взаимодействия для TaskList.xaml /// public partial class TaskList : Page { private user1Entities _context = new user1Entities(); private List listUsers = new List(); public TaskList() { InitializeComponent(); CmbStatusSort.ItemsSource = Status.FillStatus(); CmbExecutorSort.ItemsSource = user1Entities.GetContext().Executor.ToList(); DGTasks.ItemsSource = user1Entities.GetContext().Task.ToList(); foreach (var user in _context.User.ToList()) { listUsers.Add(user.getFIO()); } CmbExecutorSort.ItemsSource = listUsers; } private void BtnAdd_Click(object sender, RoutedEventArgs e) { NavigationService.Navigate(new AddEditPage(null)); } private void BtnEdit_Click(object sender, RoutedEventArgs e) { NavigationService.Navigate(new AddEditPage((sender as Button).DataContext as Task)); } private void BtnDelTask_Click(object sender, RoutedEventArgs e) { var taskIsForRemoving = DGTasks.SelectedItems.Cast().ToList(); if (MessageBox.Show($"Вы точно хотите удалить {taskIsForRemoving.Count()} задач?", "Внимание",MessageBoxButton.YesNo, MessageBoxImage.Question)==MessageBoxResult.Yes) { try { user1Entities.GetContext().Task.RemoveRange(taskIsForRemoving); user1Entities.GetContext().SaveChanges(); MessageBox.Show("Данные удалены"); DGTasks.ItemsSource = user1Entities.GetContext().Task.ToList(); } catch (Exception ex) {MessageBox.Show(ex.Message.ToString());} } } //сортировка по названию private void TBoxSearch_TextChanged(object sender, TextChangedEventArgs e) { UpdateTasks(); } //Очистка фильтров private void ClearFilters_Click(object sender, RoutedEventArgs e) { CmbExecutorSort.SelectedIndex = -1; CmbStatusSort.SelectedIndex = -1; TBoxSearch.Clear(); } private void UpdateTasks() { var tasks = user1Entities.GetContext().Task.ToList(); //сортировка по статусу if (CmbStatusSort.SelectedIndex == -1 || CmbStatusSort.Text == null) DGTasks.ItemsSource = tasks.OrderBy(p => p.Status).ToList(); //сортировка по исполнителю //if (CmbExecutorSort.SelectedIndex == -1) // tasks = tasks.OrderBy(p => p.Executor.User.MiddleName).ToList(); //else // tasks = tasks.Where(p => p.Executor.User.getFIO().ToString() == CmbStatusSort.Text).ToList(); //сортировка по поиску DGTasks.ItemsSource = tasks.Where(p => p.Title.ToLower().Contains(TBoxSearch.Text.ToLower())).ToList(); // } //Сортировка по статусу private void CmbStatusSort_LostFocus(object sender, RoutedEventArgs e) { var tasks = user1Entities.GetContext().Task.ToList(); if (CmbStatusSort.SelectedIndex != -1 ) DGTasks.ItemsSource = tasks.Where(p => p.Status == CmbStatusSort.Text).ToList(); } private void CmbStatusSort_SelectionChanged(object sender, SelectionChangedEventArgs e) { UpdateTasks(); } } }