pgAgentList.xaml.cs 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using System.Windows;
  8. using System.Windows.Controls;
  9. using System.Windows.Data;
  10. using System.Windows.Documents;
  11. using System.Windows.Input;
  12. using System.Windows.Media;
  13. using System.Windows.Media.Imaging;
  14. using System.Windows.Navigation;
  15. using System.Windows.Shapes;
  16. namespace DemoTest_Boldin_41P
  17. {
  18. /// <summary>
  19. /// Логика взаимодействия для pgAgentList.xaml
  20. /// </summary>
  21. public partial class pgAgentList : Page
  22. {
  23. VMMAgent VMMA;
  24. List<Agent> order;
  25. public pgAgentList()
  26. {
  27. InitializeComponent();
  28. VMMA = new VMMAgent();
  29. order = VMMA.createList();
  30. lbAgents.ItemsSource =VMMA.createList();
  31. List<AgentType> at = BaseConnect.BaseModel.AgentType.ToList();
  32. cbFilter.Items.Add("Все типы");
  33. List<string> typesA = new List<string>();
  34. foreach(AgentType a in at)
  35. {
  36. typesA.Add(a.Title);
  37. }
  38. foreach (string s in typesA)
  39. {
  40. cbFilter.Items.Add(s);
  41. }
  42. }
  43. private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
  44. {
  45. Filter();
  46. }
  47. void Filter()
  48. {
  49. order = VMMA.createList();
  50. if(tbFind.Text !="" && tbFind.Text != "Введите для поиска")
  51. {
  52. order = order.Where(x => x.Title.Contains(tbFind.Text) || x.Phone.Contains(tbFind.Text) || x.Email.Contains(tbFind.Text)).ToList();
  53. }
  54. if(cbFilter.SelectedIndex !=-1)
  55. {
  56. if(cbFilter.SelectedValue != "Все типы")
  57. {
  58. order = order.Where(x => x.NameTypeAgent == cbFilter.SelectedValue).ToList();
  59. }
  60. }
  61. if (cbOrder.SelectedIndex == 0)
  62. {
  63. order = order.OrderBy(x => x.Title).ToList();
  64. }
  65. if (cbOrder.SelectedIndex == 1)
  66. {
  67. order = order.OrderBy(x => x.Title).ToList();
  68. order.Reverse();
  69. }
  70. if (cbOrder.SelectedIndex == 2)
  71. {
  72. order = order.OrderBy(x => x.Sale).ToList();
  73. }
  74. if (cbOrder.SelectedIndex == 3)
  75. {
  76. order = order.OrderBy(x => x.Sale).ToList();
  77. order.Reverse();
  78. }
  79. if (cbOrder.SelectedIndex == 4)
  80. {
  81. order = order.OrderBy(x => x.Priority).ToList();
  82. }
  83. if (cbOrder.SelectedIndex == 5)
  84. {
  85. order = order.OrderBy(x => x.Priority).ToList();
  86. order.Reverse();
  87. }
  88. lbAgents.ItemsSource = order;
  89. }
  90. private void TextBox_MouseEnter(object sender, MouseEventArgs e)
  91. {
  92. if (tbFind.Text == "Введите для поиска")
  93. tbFind.Text = "";
  94. }
  95. private void tbFind_TextChanged(object sender, TextChangedEventArgs e)
  96. {
  97. if (tbFind.Text != "Введите для поиска")
  98. Filter();
  99. }
  100. private void lbAgents_SelectionChanged(object sender, SelectionChangedEventArgs e)
  101. {
  102. if(lbAgents.SelectedItems.Count>1)
  103. {
  104. btnChangePriority.Visibility = Visibility.Visible;
  105. }
  106. else
  107. btnChangePriority.Visibility = Visibility.Collapsed;
  108. }
  109. private void btnChangePriority_Click(object sender, RoutedEventArgs e)
  110. {
  111. IList ls = lbAgents.SelectedItems;
  112. new windChangePriority(ls).ShowDialog();
  113. Filter();
  114. lbAgents.ItemsSource = order;
  115. }
  116. private void lbAgents_MouseDoubleClick(object sender, MouseButtonEventArgs e)
  117. {
  118. IList ls = lbAgents.SelectedItems;
  119. new windChangeAgent(ls).ShowDialog();
  120. Filter();
  121. lbAgents.ItemsSource = order;
  122. }
  123. private void btnAddAgent_Click(object sender, RoutedEventArgs e)
  124. {
  125. new windChangeAgent().ShowDialog();
  126. Filter();
  127. lbAgents.ItemsSource = order;
  128. }
  129. }
  130. }