using practica12.Classs; using System; using System.Collections.Generic; using System.Data; 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 practica12.Pages { /// /// Логика взаимодействия для MainPage.xaml /// public partial class MainPage : Page { List listFilter = Base.ep.Tour.ToList(); List list = Base.ep.Tour.ToList(); public MainPage() { InitializeComponent(); lvListTour.ItemsSource = Base.ep.Tour.ToList(); List type = Base.ep.Type.ToList(); ComboBox1.Items.Add("Все типы"); for (int i = 0; i < type.Count; i++) { ComboBox1.Items.Add(type[i].Name); } ComboBox1.SelectedIndex = 0; Sort.SelectedIndex = 0; } private void cbActual_Checked(object sender, RoutedEventArgs e) { Filter(); } private void btn_hotel_Click(object sender, RoutedEventArgs e) { FrameClass.MainFrame.Navigate(new HotelPage()); } public void Filter() { string t = ComboBox1.SelectedValue.ToString(); int index = ComboBox1.SelectedIndex; List types = Base.ep.TypeOfTour.Where(z => z.Type.Name == t).ToList(); if (index != 0) { listFilter = new List(); foreach (TypeOfTour tot in types) { foreach (Tour tour in list) { if (tour.Id == tot.TourId) { listFilter.Add(tour); } } } } else { listFilter = Base.ep.Tour.ToList(); } if (!string.IsNullOrWhiteSpace(Search.Text)) { listFilter = listFilter.Where(z => z.Name.ToLower().Contains(Search.Text.ToLower())).ToList(); } if (cbActual.IsChecked == true) { listFilter = listFilter.Where(z => z.IsActual == true).ToList(); } switch (Sort.SelectedIndex) { case 1: listFilter.Sort((x, y) => x.Price.CompareTo(y.Price)); break; case 2: listFilter.Sort((x, y) => x.Price.CompareTo(y.Price)); listFilter.Reverse(); break; } lvListTour.ItemsSource = listFilter; int price = 0; foreach (Tour tour in listFilter) { price += (int)tour.Price * tour.TicketCount; } tbTotalCostOfTours.Text = string.Format("Общая стоимость туров: {0:C2}", price); if (listFilter.Count == 0) { MessageBox.Show("нет записей"); } } private void ComboBox1_SelectionChanged(object sender, SelectionChangedEventArgs e) { Filter(); } private void Sort_SelectionChanged(object sender, SelectionChangedEventArgs e) { Filter(); } private void Search_TextChanged(object sender, TextChangedEventArgs e) { Filter(); } } }