123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246 |
- using LR1.Entities;
- using System;
- using System.Collections.Generic;
- using System.Collections.ObjectModel;
- using System.Data.Services.Client;
- using System.Data.Entity.Core.Objects;
- 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;
- using System.Data.Entity.Core.Objects.DataClasses;
- using System.Data.Entity.Core;
- using System.Data.Entity.Infrastructure;
- using System.Data.Entity.Migrations;
- using System.Data.Entity.ModelConfiguration;
- using System.Data.Entity.Spatial;
- using System.Data.Entity.SqlServer;
- using System.Data.Entity.Utilities;
- using System.Data.Entity.Validation;
- using System.Data.Objects;
- using System.Data.Entity;
- namespace LR1
- {
- /// <summary>
- /// Логика взаимодействия для Workers.xaml
- /// </summary>
-
- public partial class Workers : Page
- {
- public static WorkersEntities DataEntitiesEmployee { get; set; }
- public static ObservableCollection<Employee> ListEmployee;
- public Workers()
- {
- DataEntitiesEmployee = new WorkersEntities();
- InitializeComponent();
- ListEmployee = new ObservableCollection<Employee>();
- }
- private bool isDirty = true;
- private bool isLoaded = false;
- private void UndoCommandBinding_CanExecute(object sender, CanExecuteRoutedEventArgs e)
- {
- e.CanExecute = isLoaded;
- }
- private void UndoCommandBinding_Executed(object sender, ExecutedRoutedEventArgs e)
- {
- RewriteEmployee();
- DataGridEmployee.IsReadOnly = true;
- MessageBox.Show("Отмена");
- isDirty = true;
- isLoaded = false;
- }
- private void DeleteCommandBinding_CanExecute(object sender, CanExecuteRoutedEventArgs e)
- {
- e.CanExecute = isDirty;
- }
- private void DeleteCommandBinding_Executed(object sender, ExecutedRoutedEventArgs e)
- {
- Employee emp = DataGridEmployee.SelectedItem as Employee;
- if (emp !=null)
- {
- MessageBoxResult result = MessageBox.Show("Удалить сотрудника: " + emp.Surname + " " + emp.Patronymic, "Предупреждение", MessageBoxButton.OKCancel);
- if (result == MessageBoxResult.OK)
- {
- DataEntitiesEmployee.Employees.Remove(emp);
- DataGridEmployee.SelectedIndex = DataGridEmployee.SelectedIndex == 0 ? 1 : DataGridEmployee.SelectedIndex - 1;
- ListEmployee.Remove(emp);
- DataEntitiesEmployee.SaveChanges();
- }
- }
- else
- {
- MessageBox.Show("Выберите строку для удаления");
- }
- MessageBox.Show("Удаление");
- isDirty = true;
- isLoaded = false;
- }
- private void AddCommandBinding_CanExecute(object sender, CanExecuteRoutedEventArgs e)
- {
- e.CanExecute = isDirty;
- }
- private void AddCommandBinding_Executed(object sender, ExecutedRoutedEventArgs e)
- {
- Employee employee = Employee.CreateEmployee(DataGridEmployee.Items.Count + 14, "не задано", "не задано", "не задано", 0);
- employee.Telephone = "не задано";
- employee.Email = "не задано";
- try
- {
- DataEntitiesEmployee.Employees.Add(employee);
- ListEmployee.Add(employee);
- DataGridEmployee.ScrollIntoView(employee);
- DataGridEmployee.SelectedIndex = DataGridEmployee.Items.Count - 1;
- DataGridEmployee.Focus();
- DataGridEmployee.IsReadOnly = false;
- MessageBox.Show("Создание");
- isDirty = false;
- isLoaded = true;
- }
- catch (DataServiceRequestException ex)
- {
- throw new ApplicationException("Ошибка добавления нового сотрудника в контекст данных" + ex.ToString());
- }
- }
- private void EditCommandBinding_CanExecute(object sender, CanExecuteRoutedEventArgs e)
- {
- e.CanExecute = isDirty;
- }
- private void EditCommandBinding_Executed(object sender, ExecutedRoutedEventArgs e)
- {
- MessageBox.Show("Редактирование");
- DataGridEmployee.IsReadOnly = false;
- DataGridEmployee.BeginEdit();
- isDirty = false;
- isLoaded = true;
- }
- private void FindCommandBinding_CanExecute(object sender, CanExecuteRoutedEventArgs e)
- {
- e.CanExecute = isDirty;
- }
- private void FindCommandBinding_Executed(object sender, ExecutedRoutedEventArgs e)
- {
- MessageBox.Show("Поиск");
- isDirty = false;
- isLoaded = true;
- BorderFind.Visibility = System.Windows.Visibility.Visible;
- }
- private void SaveCommandBinding_CanExecute(object sender, CanExecuteRoutedEventArgs e)
- {
- e.CanExecute = isLoaded;
- }
- private void SaveCommandBinding_Executed(object sender, ExecutedRoutedEventArgs e)
- {
- MessageBox.Show("Сохра");
- DataEntitiesEmployee.SaveChanges();
- isDirty = true;
- DataGridEmployee.IsReadOnly=true;
- isLoaded = false;
- }
- private void Page_Loaded(object sender, RoutedEventArgs e)
- {
- GetEmployees();
- DataGridEmployee.ItemsSource = ListEmployee;
- }
- private void GetEmployees()
- {
- var queryEmployee = DataEntitiesEmployee.Employees.OrderBy(Employee => Employee.Surname);
- foreach (Employee emp in queryEmployee)
- {
- ListEmployee.Add(emp);
- }
- DataGridEmployee.ItemsSource = ListEmployee;
- }
- private void RewriteEmployee()
- {
- DataEntitiesEmployee = new WorkersEntities();
- ListEmployee.Clear();
- GetEmployees();
- }
- private void TextBoxSurname_TextChanged(object sender, TextChangedEventArgs e)
- {
- ButtonFindTitle.IsEnabled = false;
- ButtonFindSurname.IsEnabled = true;
- ComboBoxTitle.Text = "";
- }
- private void ComboBoxTitle_SelectionChanged(object sender, SelectionChangedEventArgs e)
- {
- ButtonFindTitle.IsEnabled = true;
- ButtonFindSurname.IsEnabled = false;
- TextBoxSurname.Text = "";
- }
- private void ButtonFindSurname_Click(object sender, RoutedEventArgs e)
- {
- string surname = TextBoxSurname.Text;
- DataEntitiesEmployee = new WorkersEntities();
- ListEmployee.Clear();
-
- var queryEmployee = from employee in DataEntitiesEmployee.Employees
- where employee.Surname == surname
- select employee;
- foreach (Employee emp in queryEmployee)
- {
- ListEmployee.Add(emp);
- }
- if (ListEmployee.Count > 0)
- {
- DataGridEmployee.ItemsSource = ListEmployee;
- ButtonFindSurname.IsEnabled = true;
- ButtonFindTitle.IsEnabled = false;
- }
- else
- MessageBox.Show("сотрудник с фамилией \n" + surname+" не найден", "Предупреждение!", MessageBoxButton.OK, MessageBoxImage.Warning);
- }
- private void ButtonFindTitle_Click(object sender, RoutedEventArgs e)
- {
- DataEntitiesEmployee = new WorkersEntities();
- ListEmployee.Clear();
- Title title = ComboBoxTitle.SelectedItem as Title;
- //var queryEmployee = DataEntitiesEmployee.Employees.OrderBy(Employee => Employee.Surname);
- var queryEmployee = from employee in DataEntitiesEmployee.Employees
- where employee.TitleID == title.ID
- orderby employee.Surname
- select employee;
- foreach (Employee emp in queryEmployee)
- {
- ListEmployee.Add(emp);
- }
- DataGridEmployee.ItemsSource = ListEmployee;
- }
- private void RefreshCommandBinding_Executed(object sender, ExecutedRoutedEventArgs e)
- {
- RewriteEmployee();
- DataGridEmployee.IsReadOnly = false;
- }
- }
- }
|