private void OnGetAllFromDB() { if (!PersonList.Count.Equals(0)) { if (MessageBox.Show("All changes will be lost - do you want to proceed?", "Question", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes) { PersonList.Clear(); } else { return; } } _repository = new PeopleRepository(BuildConnectionString(DataSourceConnString, InitialDirectioryConnString, IntegratedSecurityConnString)); if (_repository == null ? IsEnabled_SaveToDatabase = false : IsEnabled_SaveToDatabase = true) { var peopleRepository = _repository.GetAll(); foreach (var person in peopleRepository) { var personBelongins = _repository.GetThingsOwnedOfPerson(person.ID); person.ThingsOwned = personBelongins; PersonList.Add(person); } IsEnabled_UpdatePersonInDatabase = true; IsEnabled_RemovePersonInDatabase = true; DatabaseConnected = true; } }
// Rulet Tekerleği => Uygunluk Değerlerine Göre işlem Yapılır. İlk olarak bütün bireylerin uygunluk değerler toplanır. // Bireyin Uygunluk değerli / Toplam uygunluk değerleri toplamı oranlanır, her bir birey için oran belirlenir // Bu oranlar en küçükten başlayarak sırasıyla yüzdelik dilime pay edilir. // Örn: x1 = 6/359 = 3.67 ,x2 = 25/359 = 62.67 ... bu şekilde ortaya çıkan oranlara göre doldurulur. // Rulet Tekerleği Hazırlandıktan sonra populasyon yeniden oluşturulur. // Populasyon Sayısı kadar random değer üretiriz bu değerler 0-100 arasında olur. // Random değerin isabe ettiği dairenin kısmına karışık gelen birey , yeni populasyona eklenir. // Örn: RandomSay = 75 olsun bu değer yüzdelik kısmında x2 bireyine dekkeliyor çünkü yüzde 60'lık kısmı karışılıyor(küçüklerden başlayarak daireye eklendiği için) // Bu şekilde yeni populasyon oluşturulur private void RouletteWheelMethod() { // Yüzdelik oranın kurulması için bireylerin uygunluk değerlerini topladık double total = PersonList.Sum(s => s.AccordanceValue); // Her birey için yüzdelik kısım hesaplancak // Oranlar RateByTotalAccordanceValues propuna yazılır PersonList.ForEach(person => person.RateByTotalAccordanceValues = (person.AccordanceValue / total));// Uygunluk Değeri / Toplam // Yeniden Populasyon Oluşturulacak , o yüzden ilk önce populasyon temizlenir // Oranları Belirledikten sonra Populasyondaki birey sayısı kadar random değer üretilip 1-100 arasında // Rulet Tekerleğindeki , Üretilen random değere karşılık gelen birey populasyona eklenir List <Person> temp = new List <Person>(); temp.AddRange(PersonList); temp = temp.OrderByDescending(s => s.RateByTotalAccordanceValues).ToList(); // Orana Göre Sıraladık Çünkü Rulet Tekerleğine Bu Şekilde yerleştireceğiz PersonList.Clear(); for (int i = 0; i < PopulationCount; i++) { Person newPerson = new Person(); double randomValue = rn.NextDouble();// 0-1 arasında random değer oluşturuldu, rulet tekerleğide 0-1 arasında // Random değerin işaret ettiği birey bulunarak yeni populasyona eklenir newPerson.Value = PersonForRouletteWheelPoint(randomValue, temp); PersonList.Add(newPerson); // Bireyi populasyona Ekledik } this.PurposeFunction(); // Uygunluk değerleri yeni bireylere göre güncellendi }
public override void Clear() { base.Clear(); InsiderList.Clear(); SpecialList.Clear(); WorkerList.Clear(); }
private void FilterPeople(string value) { value = value.ToLower(); PersonList.Clear(); PersonList = new ObservableCollection <PersonModel>(originalPersonList.Where(p => p.Name.ToLower().Contains(value) || p.Description.ToLower().Contains(value) || p.LastName.ToLower().Contains(value))); //originalPersonList.Where(p => p.Name.ToLower().Contains(value) || p.Description.ToLower().Contains(value) || p.LastName.ToLower().Contains(value)).ForEach(p => PersonList.Add((p))); }
static void Main() { var persons = new PersonList(); for (int i = 0; i < 100000; i++) { persons.Add(new Person("P" + i.ToString(), RandomString(5, true))); } var unsortedPersons = new PersonList(persons); const int COUNT = 30; Stopwatch watch = new Stopwatch(); for (int i = 0; i < COUNT; i++) { watch.Start(); Sort(persons); watch.Stop(); persons.Clear(); persons.AddRange(unsortedPersons); } Console.WriteLine("Sort: {0}ms", watch.ElapsedMilliseconds); watch = new Stopwatch(); for (int i = 0; i < COUNT; i++) { watch.Start(); OrderBy(persons); watch.Stop(); persons.Clear(); persons.AddRange(unsortedPersons); } Console.WriteLine("OrderBy: {0}ms", watch.ElapsedMilliseconds); watch = new Stopwatch(); for (int i = 0; i < COUNT; i++) { watch.Start(); OrderByWithToList(persons); watch.Stop(); persons.Clear(); persons.AddRange(unsortedPersons); } Console.WriteLine("OrderByWithToList: {0}ms", watch.ElapsedMilliseconds); }
/// <summary> /// Leert die Liste /// </summary> public void DeleteList() { ///Frage den User, ob er wirklich die Liste löschen will MessageBoxResult result = MessageBox.Show("Liste wirklich löschen ? Nicht gespeichert Daten gehen verloren!", "caption", MessageBoxButton.YesNo, MessageBoxImage.Question); if (result == MessageBoxResult.Yes) { PersonList.Clear(); } }
private void OpenDBCommand_Execute() { if (Open_DB_Dialog() != true) { return; } PersonList.Clear(); Read_From_DataBase(); }
private void NewDBCommand_Execute() { if (New_DB_Dialog() != true) { return; } PersonList.Clear(); Create_Empty_DataBase(); }
/// <summary> /// Выполняет 3 задания Лабораторной работы /// (создание 2 списка, копирование...) /// </summary> static void DoThirdExerciseOfLab() { persons1.Clear(); var persons2 = new PersonList(); Console.WriteLine("***Создание двух списков, по три " + "элемента в каждом***\n"); for (int j = 0; j < 3; j++) { persons1.AddPerson(Person.GetRandomPerson()); Thread.Sleep(15); persons2.AddPerson(Person.GetRandomPerson()); Thread.Sleep(15); } ShowTwoLists(persons1, persons2); Console.ReadKey(); Console.WriteLine("***Добавление нового элемента в 1 " + "список***\n"); persons1.AddPerson(Person.GetRandomPerson()); ShowList(persons1); Console.ReadKey(); Console.WriteLine("***Копирование 2го элемента из " + "1 списока во 2ой список***\n"); persons2.AddPerson(persons1.GetPerson(1)); ShowTwoLists(persons1, persons2); Console.ReadKey(); Console.WriteLine("***Удаление 2го элемента из 1 " + "списка***\n"); persons1.DeletePersonIndex(1); ShowTwoLists(persons1, persons2); Console.ReadKey(); Console.WriteLine("***Очищение 2го списка " + "элементов***\n"); persons2.Clear(); ShowTwoLists(persons1, persons2); }
public void LoadData() { XmlSerializer xs = new XmlSerializer(typeof(ObservableCollection <Person>)); using (StreamReader rd = new StreamReader(Path)) { ObservableCollection <Person> temp = xs.Deserialize(rd) as ObservableCollection <Person>; PersonList.Clear(); foreach (Person person in temp) { PersonList.Add(person); } } IsChanged = false; }
private void RefreshPersonListMethod() { try { PersonList.Clear(); foreach (skPerson P in skPerson.GetPersonList()) { PersonList.Add(P); } } catch (Exception E) { ExepionLogger.Logger.LogException(E); ExepionLogger.Logger.Show(E); } }
public async Task GetPersonAsync() { if (IsBusy) { return; } try { IsBusy = true; PersonList.Clear(); await FillPersonModel(); } finally { IsBusy = false; } }
// Populasyon oluşturma => En büyük ve En küçük değerlere göre random bireyleri oluşturup "PersonList" Listesine ekler // İlk Jenarasyon ise "PopulationCount" kadar birey oluşturulur, ilk jenarasyon değil ise "PopulationCount" - "ExclusivenessCount" kadar birey oluşturulur ve // Populasyona seçkin bireyleri yani "ExclusivenessPersonList" listesine ekleyerek "Elitizm" uygulanır private void CreatePopulation() { int Lenght = PopulationCount; PersonList.Clear(); // Yeni Populasyon oluşturacağımız için eskiyi temizliyoruz if (ExclusivenessPersonList.Any()) // Eğer ilk jenerasyon değil ise seçkin bireyleri , yeni populasyona ekliyoruz { Lenght = PopulationCount - ExclusivenessCount; // Seçkinleri eklediğimiz için , sayıyı azaltıyoruz PersonList.AddRange(ExclusivenessPersonList); } // Populasyonu Oluşturma for (int i = 0; i < Lenght; i++) { Person newPerson = new Person(); newPerson.Value = rn.Next(MinValueForPerson, MaxValueForPerson); // Min-Max ' a göre random bir birey oluşturuldu PersonList.Add(newPerson); // Bireyi populasyona Ekledik } }
private void OnReadExcel() { //example of choice before clearing list if (!PersonList.Count.Equals(0)) { if (MessageBox.Show("Do you want to load new excel file and clear current list?", "Question", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes) { // Clears list after loading excel and then loads new list from file PersonList.Clear(); ReadExcelFile(); return; } else { return; } } // Clears list after loading excel and then loads new list from file PersonList.Clear(); ReadExcelFile(); }
private void SortPersonsList(string sortBy) { List <Person> personsList = PersonList.ToList(); IOrderedEnumerable <Person> sortedPersons = null; switch (sortBy) { case "System.Windows.Controls.ComboBoxItem: Name": sortedPersons = from p in personsList orderby p.Name select p; break; case "System.Windows.Controls.ComboBoxItem: Surname": sortedPersons = from p in personsList orderby p.Surname select p; break; case "System.Windows.Controls.ComboBoxItem: Email": sortedPersons = from p in personsList orderby p.Email select p; break; case "System.Windows.Controls.ComboBoxItem: BirthDay": sortedPersons = from p in personsList orderby p.BornDateTime select p; break; case "System.Windows.Controls.ComboBoxItem: IsAdult": sortedPersons = from p in personsList orderby p.IsAdult select p; break; case "System.Windows.Controls.ComboBoxItem: SunSign": sortedPersons = from p in personsList orderby p.SunSign select p; break; case "System.Windows.Controls.ComboBoxItem: ChineseSign": sortedPersons = from p in personsList orderby p.ChineseSign select p; break; case "System.Windows.Controls.ComboBoxItem: IsBirthday": sortedPersons = from p in personsList orderby p.IsBirthday select p; break; } if (sortedPersons != null) { PersonList.Clear(); foreach (Person p in sortedPersons) { PersonList.Add(p); } } }
/// <summary> /// Точка входа /// </summary> public static void Main() { Console.WriteLine("Чтобы начать работу программы " + "нажмите любую кнопку..."); Console.ReadKey(); Console.Write("\nСоздаем списки людей ---> "); var designDepartOne = new PersonList(); var designDepartTwo = new PersonList(); Console.WriteLine("Созданы успешно!"); Console.Write("Заполняем списки ---> "); var peopleForListOne = new Person[] { new Person("Андрей", "Гришенков", 24, SexTypes.Male), new Person("Ванадий", "Ванадьев", 29, SexTypes.Male), new Person("Борис", "Борисенко", 21, SexTypes.Male) }; var peopleForListTwo = new Person[] { new Person("Юлия", "Шишко", 35, SexTypes.Female), new Person("Григорий", "Терешков", 31, SexTypes.Male), new Person("Лилия", "Сюдзенко", 24, SexTypes.Female) }; designDepartOne.AddRangeOfPersons(peopleForListOne); designDepartTwo.AddRangeOfPersons(peopleForListTwo); Console.WriteLine("Заполнены успешно!"); PrintPersonList(designDepartOne, designDepartTwo); Console.Write("Добавляем нового человека в первый список ---> "); var newDesignerDepartOne = new Person("Кирилл", "Ананьев", 34, SexTypes.Male); designDepartOne.AddPerson(newDesignerDepartOne); Console.WriteLine("Добавлен успешно!"); PrintPersonList(designDepartOne, designDepartTwo); Console.WriteLine("Копируем второго человека из " + "первого списка во второй ---> "); designDepartTwo.AddPerson(designDepartOne[1]); Console.WriteLine("Скопирован успешно!\n"); PrintPersonList(designDepartOne, designDepartTwo); Console.WriteLine("Удаляем второго человека" + " из первого списка ---> "); designDepartOne.DelPersonByIndex(1); Console.WriteLine("Удален успешно!"); PrintPersonList(designDepartOne, designDepartTwo); Console.Write("Очищаем второй список ---> "); designDepartTwo.Clear(); Console.WriteLine("Очищен успешно!"); PrintPersonList(designDepartOne, designDepartTwo); Console.Write("Добавляем во второй список " + "случайного человека ---> "); designDepartTwo.AddPerson(GetRandomPerson.ReceiveRandomPerson()); Console.WriteLine("Добавлен успешно!"); PrintPersonList(designDepartOne, designDepartTwo); Console.WriteLine("Добавим человека, получая параметры " + "от пользователя..."); designDepartTwo.AddPerson(PersonInput.CreateNewPerson()); PrintPersonList(designDepartOne, designDepartTwo); Console.Write("Чтобы завершить работу нажмите любую кнопку..."); Console.ReadKey(); }
/// <summary> /// Точка входа /// </summary> /// <param name="args">Аргументы</param> static void Main(string[] args) { while (true) { Console.WriteLine("***Меню***"); Console.WriteLine("1 - Запуск 3го задания Лабы (2 списка, " + "копирование...)"); Console.WriteLine("2 - Добавление рандомного элемента"); Console.WriteLine("3 - Добавление элемента"); Console.WriteLine("4 - Вывод данных"); Console.WriteLine("5 - Удаление элемента по индексу"); Console.WriteLine("6 - Удаление элемента"); Console.WriteLine("7 - Поиск элемента по индексу"); Console.WriteLine("8 - Поиск индекса по элементу"); Console.WriteLine("9 - Получить количество элементов в " + "списке"); Console.WriteLine("10 - Очистить список"); Console.WriteLine("11 - Выход\n"); Console.Write("Ваш выбор: "); try { var key = Console.ReadLine(); CheckingNumber(key); Console.WriteLine(); switch (key) { case "1": DoThirdExerciseOfLab(); break; case "2": AddRandomItem(); break; case "3": AddItem(); break; case "4": DataOutput(); break; case "5": DeleteItemByIndex(); break; case "6": DeleteItemByParameters(); break; case "7": SearchItemByIndex(); break; case "8": SearchIndexByParameters(); break; case "9": Console.Write("Количество элементов в списке: "); Console.WriteLine(persons1.Length + "\n"); break; case "10": { persons1.Clear(); Console.WriteLine("Список очищен\n"); break; } case "11": return; } } catch (Exception exception) { if (exception is ArgumentException || exception is IndexOutOfRangeException || exception is FormatException) { Console.WriteLine($"{exception.Message}\n"); } } } }
// Çaprazlama => Tek noktalı çaprazlama yapılıyor. // Çaprazlama yaparken Sayılar Bit'e dönüştürülür. Ve bu orana göre bir çaprazlama yapılır // Örn: x1 = [1,1,1,1,1] ile x2 = [0,0,0,0,0] iki bireyimiz olsun. Bu oran da 0.6 olsun bu durumda ; // Yeni Birey(x1)=> x1'in 0.6sına kadar olan kısmı ve x2'in 0.6'sından sonra olan kısmı yani => [1,1,1,0,0] // Yeni Birey(x2))=> [0,0,0,1,1] olur // Her 2 Birey İçin Yapılır, bundan Önce hepsi büyükten küçüğe sıralanır private void CrossOver() { // İlk önce bireylerin kromozom yapısı çıkartılır // Her bir birey bite dönüştürülür ve değeri tanımlanır // Önemli => Bireyleri çaprazlarken uygunluk değerine göre çaprazlancağı için ilk önce uygunluk değerlerine göre sıralandı PersonList = PersonList.OrderByDescending(s => s.AccordanceValue).ToList(); PersonList.ForEach(person => person.BitsValue = ConverToBinary(Math.Abs(person.Value))); List <Person> temp = new List <Person>(); // Çaprazlamayı 2 birey arasında yapacağımız için populasyon sayısı tek ise sondaki elemanı almıyacağız, o yüzden tek olur ise 1 eksilttik int length = PopulationCount % 2 == 0 ? PopulationCount : PopulationCount - 1; // Girilen Çaprazlama oranına göre kromozomdaki bölüm noktası // => Örn: 5 bitlik ise crossRate = 0.6 ise 3.bit hedef noktaso olur // Anlamı ilk bireyin => ilk 3 bitini al , 2.bireyin => 3.bitten sonrakini al int targetPoint = Convert.ToInt32(Math.Round((CrossProbability * BitCount), 0)); // 2 Birey Çaprazlamaya tutulacağı için döngüyü 2 şer arttırdık for (int i = 0; i < length; i = i + 2) { // Çaprazlama İşlemine tabi tutlacak Bireyler Person p1 = PersonList.ElementAt(i); // İlk birey Person p2 = PersonList.ElementAt(i + 1); // Bir sonraki birey // Yeni Bireyler // Tek noktalı çaprazlama ile yeni bireyler oluşturulup, yeni değerleri hesaplanır // populasyona eklenir // Yeni bireyler eski bireyden kalıtım aldıkları için ilk bireyin işaretini taşırlar => "Negatif" yada "Pozitif" Person firstPerson = new Person(); firstPerson.BitsValue = SinglePointCrossover(p1, p2, targetPoint, true); //Negatiflik Kontrolü if (Math.Abs(p1.Value) == p1.Value) { firstPerson.Value = BinaryToInt(firstPerson.BitsValue); } else // Negaitf Yapma { firstPerson.Value = BinaryToInt(firstPerson.BitsValue) * -1; } temp.Add(firstPerson); Person secondPerson = new Person(); secondPerson.BitsValue = SinglePointCrossover(p1, p2, targetPoint, false); // 2. Birey oldugu için False //Negatiflik Kontrolü if (Math.Abs(p2.Value) == p2.Value) { secondPerson.Value = BinaryToInt(secondPerson.BitsValue); } else // Negaitf Yapma { secondPerson.Value = BinaryToInt(secondPerson.BitsValue) * -1; } temp.Add(secondPerson); } PersonList.Clear(); PersonList.AddRange(temp); // Yeni Bireyler Oluşturuldukta sonra Uygunluk Değerleri Yeniden Hesaplanır this.PurposeFunction(); }
/// <summary> /// Main program /// </summary> /// <param name="args">Arguments</param> static void Main(string[] args) { Console.WriteLine("Press any key to create lists "); Console.ReadKey(); Console.Write("\nCreating lists... "); var listOne = new PersonList(); var listTwo = new PersonList(); var firstList = new Person[] { new Person("Зohn", "Do-e", 45, Gender.Male), new Person("Billy", "Herrington", 48, Gender.Male), new Person("Lisa", "Su", 50, Gender.Female), }; var secondList = new Person[] { new Person("Robert", "Swan", 59, Gender.Male), new Person("Van", "Darkholme", 47, Gender.Male), new Person("Fo-o", "Bar", 34, Gender.Female), }; listOne.AddRange(firstList); listTwo.AddRange(secondList); Console.WriteLine("\nLists have been created. " + "Press any key to display the lists."); Console.ReadKey(); Console.WriteLine(); PrintLists(listOne, listTwo); bool flag = true; while (flag) { PrintMenu(); switch (ExceptionHandler()) { case 1: Console.WriteLine("Adding a new person " + "programmatically..."); var newEntry = new Person("Rick", "Astley", 54, Gender.Male); listOne.AddPerson(newEntry); Console.WriteLine("Successful!"); Console.WriteLine("Press Y to show list, any key " + "to go back to the menu."); char key = Console.ReadKey().KeyChar; if (key == 'y' || key == 'н') { PrintLists(listOne); } break; case 2: Console.WriteLine("Which index whould you like " + "to copy?"); listTwo.AddPerson(ExceptionHandler(firstList)); SuccessfulMethod(); PrintLists(listOne, listTwo); break; case 3: Console.WriteLine("Which index whould you like " + " to delete?"); listOne.DeletePersonByIndex(IndexExceptionHandler (firstList)); SuccessfulMethod(); PrintLists(listOne, listTwo); break; case 4: listOne.AddPerson(RandomPerson.PickPerson()); SuccessfulMethod(); PrintLists(listOne); break; case 5: listTwo.Clear(); SuccessfulMethod(); PrintLists(listOne, listTwo); break; case 6: listOne.AddPerson(CreateNewPerson()); PrintLists(listOne, listTwo); break; case 0: flag = false; break; default: TryAgain(); break; } } }
void SortCommandExecute(string sortOpt) { ObservableCollection <Person> orderedList = null; switch (sortOpt) { case "firstName": LastNameHeader = NOT_ORDERED; AgeHeader = NOT_ORDERED; if (FirstNameHeader == NOT_ORDERED || FirstNameHeader == ORDER_DESCENDING) { FirstNameHeader = ORDER_ASCENDING; orderedList = new ObservableCollection <Person>(PersonList.OrderBy(i => i.FirstName)); } else { FirstNameHeader = ORDER_DESCENDING; orderedList = new ObservableCollection <Person>(PersonList.OrderByDescending(i => i.FirstName)); } break; case "lastName": FirstNameHeader = NOT_ORDERED; AgeHeader = NOT_ORDERED; if (LastNameHeader == NOT_ORDERED || LastNameHeader == ORDER_DESCENDING) { LastNameHeader = ORDER_ASCENDING; orderedList = new ObservableCollection <Person>(PersonList.OrderBy(i => i.LastName)); } else { LastNameHeader = ORDER_DESCENDING; orderedList = new ObservableCollection <Person>(PersonList.OrderByDescending(i => i.LastName)); } break; case "age": FirstNameHeader = NOT_ORDERED; LastNameHeader = NOT_ORDERED; if (AgeHeader == NOT_ORDERED || AgeHeader == ORDER_DESCENDING) { AgeHeader = ORDER_ASCENDING; orderedList = new ObservableCollection <Person>(PersonList.OrderBy(i => i.Age)); } else { AgeHeader = ORDER_DESCENDING; orderedList = new ObservableCollection <Person>(PersonList.OrderByDescending(i => i.Age)); } break; } PersonList.Clear(); foreach (var person in orderedList) { PersonList.Add(person); } }
private void RemovePerson(int id) { PersonList.Clear(); originalPersonList = originalPersonList.Where(p => p.Id != id).ToList(); PersonList = new ObservableCollection <PersonModel>(originalPersonList); }
/// <summary> /// Точка вхождения. /// </summary> /// <param name="args">Аргументы</param> public static void Main(string[] args) { Console.WriteLine("Для начала работы программы " + "нажмите любую клавишу..."); Console.ReadKey(); Console.Write("\nСоздаем списки людей... "); var artists = new PersonList(); var actors = new PersonList(); Console.WriteLine("Успешно!"); Console.Write("Заполняем списки людей... "); var peopleForFirstList = new Person[] { new Person("Danzel", "Curry", 35, Genders.Male), new Person("Ariana", "Grande", 29, Genders.Female), new Person("Kendrick", "Lamar", 33, Genders.Male) }; var peopleForSecondList = new Person[] { new Person("Tom", "Hanks", 63, Genders.Male), new Person("Jim", "Carrey", 57, Genders.Male), new Person("Jennifer", "Aniston", 50, Genders.Female) }; artists.AddRange(peopleForFirstList); actors.AddRange(peopleForSecondList); Properties.Resources.gavno = "gen"; PrintEndStrings(); PrintLists(artists, actors); Console.Write("Добавляем нового человека в первый список... "); var newArtist = new Person("Kid", "Cudi", 35, Genders.Male); artists.AddPerson(newArtist); PrintEndStrings(); Console.Write("Копируем второго человека из " + "первого списка во второй... "); actors.AddPerson(artists[1]); Console.WriteLine("Успешно!\n"); PrintLists(artists, actors); Console.Write("Удаляем второго человека из первого списка... "); artists.DeletePersonByIndex(1); Console.WriteLine("Успешно!"); PrintLists(artists, actors); Console.Write("Очищаем второй список... "); actors.Clear(); PrintEndStrings(); Console.Write( "Добавляем во второй список случайного человека... "); actors.AddPerson(RandomPerson.CreateRandomPerson()); Console.WriteLine("Успешно!"); Console.WriteLine( "Добавим человека, получая параметры от пользователя..."); actors.AddPerson(IOConsole.CreateNewPerson()); PrintLists(artists, actors); Console.Write("Для завершения работы нажмите любую кнопку..."); Console.ReadKey(); }
private void FiltrPersonsList(string text, string filtrBy) { text = text.ToLower(); var personsList = StorageManager.DataStorage._personsList; IEnumerable <Person> filteredPersons = null; switch (filtrBy) { case "System.Windows.Controls.ComboBoxItem: Name": filteredPersons = from p in personsList where p.Name.ToLower().Contains(text) select p; break; case "System.Windows.Controls.ComboBoxItem: Surname": filteredPersons = from p in personsList where p.Surname.ToLower().Contains(text) select p; break; case "System.Windows.Controls.ComboBoxItem: Email": filteredPersons = from p in personsList where p.Email.ToLower().Contains(text) select p; break; case "System.Windows.Controls.ComboBoxItem: BirthDay": filteredPersons = from p in personsList where p.BornDateTime.ToString().ToLower().Contains(text) select p; break; case "System.Windows.Controls.ComboBoxItem: IsAdult": filteredPersons = from p in personsList where p.IsAdult.ToString().Contains(text) select p; break; case "System.Windows.Controls.ComboBoxItem: SunSign": filteredPersons = from p in personsList where p.SunSign.ToLower().Contains(text) select p; break; case "System.Windows.Controls.ComboBoxItem: ChineseSign": filteredPersons = from p in personsList where p.ChineseSign.ToLower().Contains(text) select p; break; case "System.Windows.Controls.ComboBoxItem: IsBirthday": filteredPersons = from p in personsList where p.IsBirthday.ToString().Contains(text) select p; break; } if (filteredPersons != null) { PersonList.Clear(); foreach (Person p in filteredPersons) { PersonList.Add(p); } } }