private async void Find_Apartments_by_Persons_Button_Click(object sender, RoutedEventArgs e) { int ListBox_Persons_SelectedItems_Count = ListBox_Persons.SelectedItems.Count; Task <List <PersonModel> > allPersons = personService.GetAllPersons(); await allPersons; //string s = "Name2"; List <PersonModel> allPersonsResult = allPersons.Result; if (ListBox_Persons.SelectedItems.Count == 0) { TextBox_OutPut.Text = "There are no selected Persons"; MessageBox.Show("There are no selected Persons"); } else { TextBox_OutPut.Text = ""; List <ApartmentModel> apartments = new List <ApartmentModel>(); List <string> apartmentsToString = new List <string>(); foreach (string selectedItem in ListBox_Persons.SelectedItems) { TextBox_OutPut.Text = selectedItem.ToString(); Task <PersonModel> somePerson = personService.FindPersonByName(selectedItem.ToString()); await somePerson; Task <List <ApartmentModel> > apartmentsByPersonId = apartmentService.GetApartmentsByPersonId(somePerson.Result.Id); await apartmentsByPersonId; //apartments.AddRange(apartmentsByPersonId.Result); foreach (ApartmentModel ap in apartmentsByPersonId.Result) { apartments.Add(ap); } //if (selectedItem.ToString() == "Name2") //{ // TextBox_OutPut.Text = "Got it."; //} } foreach (var apartment in apartments) { BuildingModel bm = new BuildingModel(); Task <BuildingModel> bmTask = buildingService.GetByIdAsync(apartment.BuildingId); await bmTask; bm = bmTask.Result; PersonModel pm = new PersonModel(); Task <PersonModel> pmTask = personService.GetByIdAsync(apartment.PersonId); await pmTask; pm = pmTask.Result; TextBox_OutPut.Text = pm.Name + " 777"; apartmentsToString.Add($"Building: {bm.BuildingNumber}, Apartment Number: {apartment.ApartmentNumber}, Own: {apartment.IsOwn}, Owner: {pm.Name}, Phone: {pm.PhoneNumber.ToString()}, OrderDate: {apartment.OrderDate}"); //apartmentsToString.Add("1"); } ListBox_OutPut.ItemsSource = null; ListBox_OutPut.ItemsSource = apartmentsToString; } }