79 lines
2.8 KiB
C#
79 lines
2.8 KiB
C#
using EmployeeManagmentContracts.BusinessLogicContracts;
|
|
using EmployeeManagmentContracts.ViewModels;
|
|
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.Shapes;
|
|
|
|
namespace EmployeeManagmentView.Employee.Vacation
|
|
{
|
|
/// <summary>
|
|
/// Логика взаимодействия для DeleteVacationWindow.xaml
|
|
/// </summary>
|
|
public partial class DeleteVacationWindow : Window
|
|
{
|
|
private readonly IVacationLogic _vacationLogic;
|
|
private IEnumerable<VacationViewModel> _allVacations;
|
|
|
|
public DeleteVacationWindow(IVacationLogic vacationLogic)
|
|
{
|
|
_vacationLogic = vacationLogic;
|
|
InitializeComponent();
|
|
LoadVacations();
|
|
}
|
|
|
|
private void LoadVacations()
|
|
{
|
|
_allVacations = _vacationLogic.GetFullList(); // Загрузка всех данных
|
|
VacationsDataGrid.ItemsSource = _allVacations;
|
|
}
|
|
|
|
private void DeleteButton_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
if (VacationsDataGrid.SelectedItem is VacationViewModel selectedVacation)
|
|
{
|
|
// Удаление отпуска
|
|
_vacationLogic.Delete(selectedVacation.Id);
|
|
MessageBox.Show("Отпуск успешно удален!");
|
|
LoadVacations(); // Перезагрузка данных после удаления
|
|
SearchTextBox.Text = string.Empty; // Очистка поля поиска
|
|
}
|
|
else
|
|
{
|
|
MessageBox.Show("Пожалуйста, выберите запись для удаления.");
|
|
}
|
|
}
|
|
|
|
private void SearchTextBox_TextChanged(object sender, System.Windows.Controls.TextChangedEventArgs e)
|
|
{
|
|
string query = SearchTextBox.Text.ToLower();
|
|
|
|
if (string.IsNullOrWhiteSpace(query))
|
|
{
|
|
// Отображаем все записи
|
|
VacationsDataGrid.ItemsSource = _allVacations;
|
|
}
|
|
else
|
|
{
|
|
// Фильтрация по всем полям сущности
|
|
var filteredList = _allVacations.Where(vac =>
|
|
(vac.EmployeeName?.ToLower().Contains(query) ?? false) ||
|
|
(vac.StartData.ToString("dd.MM.yyyy").Contains(query)) ||
|
|
(vac.EndData.ToString("dd.MM.yyyy").Contains(query))
|
|
).ToList();
|
|
|
|
VacationsDataGrid.ItemsSource = filteredList;
|
|
}
|
|
}
|
|
}
|
|
}
|