private void button_Click(object sender, RoutedEventArgs e) { string ToSearch = Name.Text; int[] id = (sql.Search(ToSearch)).ToArray(); // MessageBox.Show(Convert.ToString(ID), Convert.ToString(ID)); LBS.Items.Clear(); Pers[] Persons = sql.GetPeople(id); Array.Sort(Persons); //for (int i = 0; i < Persons.Length; i++) ////LBS.Items.Add(Persons[i].FirstName+" "+ Persons[i].LastName); //{ // LBS.Items.Add(Persons[i]); // //Persons[i].FullNameToStr = Persons[i].FirstName +" "+ Persons[i].LastName; // LBS.DisplayMemberPath = "FullNameToStr"; // //LBS.SelectedValuePath = "FirstName"; // //LBS.SelectedValuePath = Persons[i].LastName; //} //LBS.Items.Insert(2,PeopleName[2]+"!"); Ava = new List <Image>(); NameOfPers = new List <TextBlock>(); SP = new List <StackPanel>(); image1 = new List <BitmapImage>(); KeepID = new List <System.Windows.Controls.Label>(); int j = 0; for (int i = 0; i < Persons.Length; i++) { if (Persons[i].id != ID) { SP.Add(new StackPanel()); Ava.Add(new Image()); NameOfPers.Add(new TextBlock()); KeepID.Add(new System.Windows.Controls.Label()); NameOfPers[j].Text = " " + Persons[i].FullNameToStr; try { image1.Add(new BitmapImage(new Uri(sql.GetData(Convert.ToInt32(Persons[i].id))[5]))); } catch { image1.Add(new BitmapImage(new Uri("pack://siteoforigin:,,,/Resources/Empty.png"))); } Ava[j].Source = image1[j]; KeepID[j].Content = Convert.ToString(Persons[i].id); SP[j].Orientation = System.Windows.Controls.Orientation.Horizontal; Ava[j].Height = 30; Ava[j].Width = 50; Ava[j].Margin = new Thickness(0, 0, 0, 0); NameOfPers[j].Width = 200; NameOfPers[j].Height = Double.NaN; NameOfPers[j].TextWrapping = TextWrapping.Wrap; //time[i].Foreground = new SolidColorBrush(Colors.Red); //time[i].HorizontalAlignment = Left; //time[i].Color = "grey"; SP[j].Children.Add(Ava[j]); SP[j].Children.Add(NameOfPers[j]); LBS.Items.Add(SP[j]); //LBP.Items.Add(Persons[i]); // LBP.DisplayMemberPath = "FullNameToStr"; //for (int i = 0; i < Persons.Length; i++) // { // LBS.Items.Add(Persons[i]); // LBS.DisplayMemberPath = "FullNameToStr"; // } j++; } } //ListCollectionView view = new ListCollectionView(Persons); //view.SortDescriptions.Add(new System.ComponentModel.SortDescription("FirstName", // System.ComponentModel.ListSortDirection.Ascending)); //view.SortDescriptions.Add(new System.ComponentModel.SortDescription("LastName", // System.ComponentModel.ListSortDirection.Ascending)); //view.Refresh(); //LBS.Items.SortDescriptions.Add(new SortDescription("", ListSortDirection.Ascending)); //MessageBox.Show(Convert.ToString(LBS.Items[0]), Convert.ToString(LBS.Items[0])); }
List <System.Windows.Controls.Label> KeepID;//невидимый лейбл, который будет хранить айди public Search(int id) { sql = new SqlAction(); ID = id; InitializeComponent(); //string[] PeopleName = sql.GetPeople(); //for (int i = 0; i < PeopleName.Length; i++) // LBS.Items.Add(PeopleName[i]); //Стоит сделать ее 1-й фнкцией т к повторяется 3 раза Pers[] Persons = sql.GetPeople(); Array.Sort(Persons); Ava = new List <Image>(); NameOfPers = new List <TextBlock>(); SP = new List <StackPanel>(); image1 = new List <BitmapImage>(); KeepID = new List <System.Windows.Controls.Label>(); int j = 0; for (int i = 0; i < Persons.Length; i++) { if (Persons[i].id != ID) { SP.Add(new StackPanel()); Ava.Add(new Image()); NameOfPers.Add(new TextBlock()); KeepID.Add(new System.Windows.Controls.Label()); NameOfPers[j].Text = " " + Persons[i].FullNameToStr; try { image1.Add(new BitmapImage(new Uri(sql.GetData(Convert.ToInt32(Persons[i].id))[5]))); } catch { image1.Add(new BitmapImage(new Uri("pack://siteoforigin:,,,/Resources/Empty.png"))); } Ava[j].Source = image1[j]; KeepID[j].Content = Convert.ToString(Persons[i].id); SP[j].Orientation = System.Windows.Controls.Orientation.Horizontal; Ava[j].Height = 30; Ava[j].Width = 50; Ava[j].Margin = new Thickness(0, 0, 0, 0); NameOfPers[j].Width = 200; NameOfPers[j].Height = Double.NaN; NameOfPers[j].TextWrapping = TextWrapping.Wrap; //time[i].Foreground = new SolidColorBrush(Colors.Red); //time[i].HorizontalAlignment = Left; //time[i].Color = "grey"; SP[j].Children.Add(Ava[j]); SP[j].Children.Add(NameOfPers[j]); LBS.Items.Add(SP[j]); //LBP.Items.Add(Persons[i]); // LBP.DisplayMemberPath = "FullNameToStr"; //for (int i = 0; i < Persons.Length; i++) // { // LBS.Items.Add(Persons[i]); // LBS.DisplayMemberPath = "FullNameToStr"; // } j++; } } //for (int i = 0; i < Persons.Length; i++) //{ // LBS.Items.Add(Persons[i]); // //Persons[i].FullNameToStr = Persons[i].FirstName + " " + Persons[i].LastName; // LBS.DisplayMemberPath = "FullNameToStr"; //} //ListCollectionView view = new ListCollectionView(Persons); //view.SortDescriptions.Add(new System.ComponentModel.SortDescription("FirstName", // System.ComponentModel.ListSortDirection.Ascending)); //view.SortDescriptions.Add(new System.ComponentModel.SortDescription("LastName", // System.ComponentModel.ListSortDirection.Ascending)); //view.Refresh(); }
//_____________________________________ public void Refresh(object sender, EventArgs e)//обновление окна сообщений { Persons = new List <Pers>(); AddedPersons = new List <Pers>(); LBD.Items.Clear(); sql = new SqlAction(); //Persons = sql.StateOf(ID, 2); Tmp = sql.GetPeople(); for (int i = 0; i < Tmp.Length; i++) { for (int j = 0; j < ChatData.Members.Count; j++) { if (Tmp[i].id == ChatData.Members[j]) { AddedPersons.Add(Tmp[i]); } } } //Array.Sort(Persons); AddedPersons.Sort(); AvaOfPers = new List <Image>(); NameOfPers = new List <TextBlock>(); SP = new List <StackPanel>(); IDofExistMembers = new List <System.Windows.Controls.Label>(); for (int i = 0; i < AddedPersons.Count; i++) { if (sql.isBlackList(ID, AddedPersons[i].id) || sql.isBlackList(AddedPersons[i].id, ID)) { sql.Action(ID, AddedPersons[i].id, 2, false); } if (AddedPersons[i].id != ChatData.IdOfCreator && (!sql.isBlackList(ID, AddedPersons[i].id) && !sql.isBlackList(AddedPersons[i].id, ID))) { SP.Add(new StackPanel()); AvaOfPers.Add(new Image()); NameOfPers.Add(new TextBlock()); IDofExistMembers.Add(new System.Windows.Controls.Label()); NameOfPers[i].Text = " " + AddedPersons[i].FullNameToStr; try { AvaOfPers[i].Source = (new BitmapImage(new Uri(sql.GetData(Convert.ToInt32(AddedPersons[i].id))[5]))); } catch { AvaOfPers[i].Source = (new BitmapImage(new Uri("pack://siteoforigin:,,,/Resources/Empty.png"))); } IDofExistMembers[i].Content = Convert.ToString(AddedPersons[i].id); IDofExistMembers[i].Visibility = Visibility.Hidden; SP[i].Orientation = System.Windows.Controls.Orientation.Horizontal; AvaOfPers[i].Height = 30; AvaOfPers[i].Width = 50; AvaOfPers[i].Margin = new Thickness(0, 0, 0, 0); NameOfPers[i].Width = 200; NameOfPers[i].Height = Double.NaN; NameOfPers[i].TextWrapping = TextWrapping.Wrap; SP[i].Children.Add(AvaOfPers[i]); SP[i].Children.Add(NameOfPers[i]); SP[i].Children.Add(IDofExistMembers[i]); LBD.Items.Add(SP[i]); } } //______________ LBA.Items.Clear(); sql = new SqlAction(); Tmp = sql.StateOf(ID, 2); //sql.GetPeople(); bool isNotMember = true; for (int i = 0; i < Tmp.Length; i++) { isNotMember = true; for (int j = 0; j < AddedPersons.Count; j++) { if (Tmp[i].id == AddedPersons[j].id) { isNotMember = false; } } if (isNotMember) { Persons.Add(Tmp[i]); } } Array.Sort(Tmp); AvaOfPers = new List <Image>(); NameOfPers = new List <TextBlock>(); SP = new List <StackPanel>(); IDofMembers = new List <System.Windows.Controls.Label>(); for (int i = 0; i < Persons.Count; i++) { if (sql.isBlackList(ID, Persons[i].id) || sql.isBlackList(Persons[i].id, ID)) { sql.Action(ID, Persons[i].id, 2, false); } if (Persons[i].id != ID && (!sql.isBlackList(ID, Persons[i].id) && !sql.isBlackList(Persons[i].id, ID))) { SP.Add(new StackPanel()); AvaOfPers.Add(new Image()); NameOfPers.Add(new TextBlock()); IDofMembers.Add(new System.Windows.Controls.Label()); NameOfPers[i].Text = " " + Persons[i].FullNameToStr; try { AvaOfPers[i].Source = (new BitmapImage(new Uri(sql.GetData(Convert.ToInt32(Persons[i].id))[5]))); } catch { AvaOfPers[i].Source = (new BitmapImage(new Uri("pack://siteoforigin:,,,/Resources/Empty.png"))); } IDofMembers[i].Content = Convert.ToString(Persons[i].id); IDofMembers[i].Visibility = Visibility.Hidden; SP[i].Orientation = System.Windows.Controls.Orientation.Horizontal; AvaOfPers[i].Height = 30; AvaOfPers[i].Width = 50; AvaOfPers[i].Margin = new Thickness(0, 0, 0, 0); NameOfPers[i].Width = 200; NameOfPers[i].Height = Double.NaN; NameOfPers[i].TextWrapping = TextWrapping.Wrap; SP[i].Children.Add(AvaOfPers[i]); SP[i].Children.Add(NameOfPers[i]); SP[i].Children.Add(IDofMembers[i]); LBA.Items.Add(SP[i]); } } }