using System; using System.Collections; 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 ShabaninDemoEkz { /// /// Логика взаимодействия для AgentPage.xaml /// public partial class AgentPage : Page { VModel VM = new VModel(); List agents; public AgentPage() { InitializeComponent(); DataContext = VM; agents = VM.agent; AgentList.ItemsSource = agents; SortCMB.SelectedIndex = 0; FilterCmb.ItemsSource = BaseConnect.BaseModel.AgentType.ToList(); FilterCmb.SelectedValuePath = "ID"; FilterCmb.DisplayMemberPath = "Title"; FilterCmb.SelectedIndex = 0; } private void FilterCmb_SelectionChanged(object sender, SelectionChangedEventArgs e) { Filter(); } private void SortCMB_SelectionChanged(object sender, SelectionChangedEventArgs e) { Filter(); } public void Filter() { agents = VM.agent; try { switch (SortCMB.SelectedIndex) { case 0: break; case 1: agents = agents.OrderBy(x => x.Title).ToList(); break; case 2: agents = agents.OrderBy(x => x.Title).ToList(); agents.Reverse(); break; case 3: agents = agents.OrderBy(x => x.skidka).ToList(); break; case 4: agents = agents.OrderBy(x => x.skidka).ToList(); agents.Reverse(); break; case 5: agents = agents.OrderBy(x => x.Priority).ToList(); break; case 6: agents = agents.OrderBy(x => x.Priority).ToList(); agents.Reverse(); break; } } catch { } try { if (FilterCmb.SelectedIndex != 0) agents = agents.Where(x => x.AgentTypeID == FilterCmb.SelectedIndex).ToList(); } catch { } try { agents = agents.Where(x => x.Title.Contains(searchBar.Text) || x.Email.Contains(searchBar.Text) || x.Phone.Contains(searchBar.Text)).ToList(); } catch { } AgentList.ItemsSource = agents; } private void searchBar_TextChanged(object sender, TextChangedEventArgs e) { Filter(); } private void AgentList_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (AgentList.SelectedItems.Count > 1) { ChangePrior.Visibility = Visibility.Visible; } else { ChangePrior.Visibility = Visibility.Collapsed; } } private void ChangePrior_Click(object sender, RoutedEventArgs e) { IList ls = AgentList.SelectedItems; new ChangedPrior(ls).ShowDialog(); } } }