/// <summary> /// Displays information found by a person search. /// </summary> /// <param name="searchResults">Result state of a SearchForPersons search.</param> private void DisplayPersonSearchResults(PersonSearchResultsState searchResults) { //Declare a person. PersonState person; //Clear ResultBox. ResultBox.Items.Clear(); //See remark (1) at the bottom of this file. //Search through the result list. foreach (Entry singleEntry in searchResults.Results.Entries ?? new List <Entry>()) { //Get a person. person = searchResults.ReadPerson(singleEntry); //Person could be null, it does happen. if (person.Person != null) { //Display some person info. ResultBox.Items.Add(person.Person.DisplayExtension.Name + " " + person.Person.Id); } else { //Show off the rare occasion of a null person. ResultBox.Items.Add("null"); } //Display it right away, we are inpatient. ResultBox.Update(); } }
public void TestReadNextPageOfSearchResults() { GedcomxPersonSearchQueryBuilder query = new GedcomxPersonSearchQueryBuilder() .Name("John Smith") .BirthDate("1 January 1900") .FatherName("Peter Smith"); PersonSearchResultsState results = collection.SearchForPersons(query); var state = (PersonSearchResultsState)results.ReadNextPage(); Assert.DoesNotThrow(() => state.IfSuccessful()); PersonState person = state.ReadPerson(results.Results.Entries.FirstOrDefault()); Assert.IsNotNull(person); Assert.DoesNotThrow(() => person.IfSuccessful()); }
private void btnSearch_Click(object sender, EventArgs e) { //Remember cursor and change to wait-cursor. var cursorState = Cursor; Cursor = Cursors.WaitCursor; lblErrorMessage.Text = "No Error."; try { //Put together a search query. GedcomxPersonSearchQueryBuilder query = new GedcomxPersonSearchQueryBuilder() //Set all on the form available Parameter for query. //Note: This is just a sample of available Parameters. .GivenName(txtGivenName.Text) .Surname(txtSurname.Text) .BirthDate(txtBirthDate.Text) .FatherGivenName(txtFatherGivenName.Text) .FatherSurname(txtFatherSurname.Text) .FatherBirthDate(txtFatherBirthDate.Text) .MotherGivenName(txtMotherGivenName.Text) .MotherSurname(txtMotherSurname.Text) .MotherBirthDate(txtMotherBirthDate.Text); //Search the collection. PersonSearchResultsState resultsSearchPersons = FamilyTree.SearchForPersons(query); //Show results on Form. DisplayPersonSearchResults(resultsSearchPersons); } catch (Exception myError) { //report error to error label lblErrorMessage.Text = myError.Message.ToString(); } finally { // Restore Cursor. Cursor = cursorState; } }