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 SchoolProject
{
///
/// Логика взаимодействия для ShowEmployeePage.xaml
///
public partial class ShowEmployeePage : Page
{
public ShowEmployeePage()
{
InitializeComponent();
Load();
}
public void Load()
{
EmployeeList.ItemsSource = DB.db.Employee.ToList();
}
private void BtnAddEmployee_Click(object sender, RoutedEventArgs e)
{
ManagerFrame.MainFrame.Navigate(new WorkOfEmployeePage());
}
private void BtnEditEmployee_Click(object sender, RoutedEventArgs e)
{
ManagerFrame.MainFrame.Navigate(new WorkOfEmployeePage(((sender as Button).DataContext as Employee).EmployeeID));
}
public bool DeleteEmployee(Employee CurrentEmployee)
{
var result = MessageBox.Show("Удалить сотрудника?", "Удаление", MessageBoxButton.YesNo, MessageBoxImage.Question);
if (result == MessageBoxResult.Yes)
{
DB.db.Employee.Remove(CurrentEmployee);
DB.Save();
Load();
return true;
}
return false;
}
private void EmployeeList_KeyUp(object sender, KeyEventArgs e)
{
if (e.Key == Key.Delete)
{
DeleteEmployee(EmployeeList.CurrentItem as Employee);
}
}
private void TxtSearch_TextChanged(object sender, TextChangedEventArgs e)
{
if (TxtSearch.Text == string.Empty)
{
Load();
}
else
{
List Employees = DB.db.Employee.ToList();
List LevenshteinList = new List();
foreach (var item in Employees)
{
if (Helper.LevenshteinDistance(item.LastName, TxtSearch.Text) <= 3)
{
LevenshteinList.Add(item);
}
}
EmployeeList.ItemsSource = LevenshteinList;
}
}
}
}