using System; using System.Linq; using System.Windows; using System.Windows.Controls; using System.Windows.Input; using Cafe.ElementsWindows; namespace Cafe.ListWindows { public partial class OrdersListWindow : Window { Exchange exchange; public OrdersListWindow() { exchange = GetExchange(); if (exchange is null) { ErrorWindow errorWindow = new ErrorWindow("сейчас нет смены"); errorWindow.Show(); return; } InitializeComponent(); if (User.Role == 2) { OrdersList.ItemsSource = Connection.db.Orders.Where(item => item.EmployeesExchanges.IDExchange == exchange.ID).ToList(); } else if (User.Role == 3) { OrdersList.ItemsSource = Connection.db.Orders.Where(item => item.EmployeesExchanges.IDExchange == exchange.ID && !item.IsReady).ToList(); BackButton.Visibility = Visibility.Hidden; } } private Exchange GetExchange() { DateTime now = DateTime.Now; return Connection.db.Exchange.Where(item => item.Date == now.Date && item.TimeOfBegin <= now.TimeOfDay && item.TimeOfEnd >= now.TimeOfDay).FirstOrDefault(); } private void OrdersListMouseDoubleClick(object sender, MouseButtonEventArgs e) { int id = ((Orders)OrdersList.SelectedItem).ID; OrderWindow orderWindow = new OrderWindow(id); orderWindow.Show(); this.Hide(); } private void SearchPreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e) { if (Search.Text == "Поиск") Search.Text = ""; } private void SearchLostFocus(object sender, RoutedEventArgs e) { if (Search.Text == "") Search.Text = "Поиск"; } private void SearchTextChanged(object sender, TextChangedEventArgs e) { if (Search.Text != "" && Search.Text != "Поиск") { if (User.Role == 2) { OrdersList.ItemsSource = Connection.db.Orders.Where(item => (item.IDTable + " " + item.EmployeesExchanges.Users.SecondName + " " + item.EmployeesExchanges.Users.FirstName + " " + item.EmployeesExchanges.Users.MiddleName + " " + item.Time + " " + item.SumOfOrder).Contains(Search.Text) && item.EmployeesExchanges.IDExchange == exchange.ID).ToList(); } else if (User.Role == 3) { OrdersList.ItemsSource = Connection.db.Orders.Where(item => (item.IDTable + " " + item.EmployeesExchanges.Users.SecondName + " " + item.EmployeesExchanges.Users.FirstName + " " + item.EmployeesExchanges.Users.MiddleName + " " + item.Time + " " + item.SumOfOrder).Contains(Search.Text) && !item.IsReady && item.EmployeesExchanges.IDExchange == exchange.ID).ToList(); } } else if (Search.Text == "" || Search.Text == "Поиск") { if (User.Role == 2) { OrdersList.ItemsSource = Connection.db.Orders.Where(item => item.EmployeesExchanges.IDExchange == exchange.ID).ToList(); } else if (User.Role == 3) { OrdersList.ItemsSource = Connection.db.Orders.Where(item => item.EmployeesExchanges.IDExchange == exchange.ID && !item.IsReady).ToList(); } } } private void BackButtonClick(object sender, RoutedEventArgs e) { MainWindow mainWindow = new MainWindow(); mainWindow.Show(); this.Close(); } } }