예제 #1
0
        public void TestSearchPersonsWithWarningsAndErrors()
        {
            GedcomxPersonSearchQueryBuilder query = new GedcomxPersonSearchQueryBuilder()
                                                    .Param("givenNameMisspelled", "Israel");
            var state = collection.SearchForPersons(query);

            Assert.IsTrue(state.Warnings.Count > 0);
        }
예제 #2
0
        public void TestSearchPersons()
        {
            GedcomxPersonSearchQueryBuilder query = new GedcomxPersonSearchQueryBuilder()
                                                    .MotherGivenName("Clarissa")
                                                    .FatherSurname("Heaton")
                                                    .MotherSurname("Hoyt")
                                                    .Surname("Heaton")
                                                    .GivenName("Israel")
                                                    .FatherGivenName("Jonathan");

            var state = collection.SearchForPersons(query);

            Assert.DoesNotThrow(() => state.IfSuccessful());
        }
예제 #3
0
        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());
        }
예제 #4
0
        public void TestReadMatchScoresForPersons()
        {
            var query = new GedcomxPersonSearchQueryBuilder()
                        .GivenName("GedcomX")
                        .Surname("User")
                        .Gender("Male")
                        .BirthDate("June 1800")
                        .BirthPlace("Provo, Utah, Utah, United States")
                        .DeathDate("July 14, 1900")
                        .DeathPlace("Provo, Utah, Utah, United States");
            var state = tree.SearchForPersonMatches(query);

            Assert.DoesNotThrow(() => state.IfSuccessful());
            Assert.IsNotNull(state.Results);
            Assert.IsNotNull(state.Results.Entries);
            Assert.Greater(state.Results.Entries.Count, 0);
            Assert.Greater(state.Results.Entries[0].Score, 0);
        }
        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;
            }
        }
예제 #6
0
        public void TestSearchForPersonMatches()
        {
            var query = new GedcomxPersonSearchQueryBuilder()
                        .FatherSurname("Heaton")
                        .SpouseSurname("Cox")
                        .Surname("Heaton")
                        .GivenName("Israel")
                        .BirthPlace("Orderville, UT")
                        .DeathDate("29 August 1936")
                        .DeathPlace("Kanab, Kane, UT")
                        .SpouseGivenName("Charlotte")
                        .MotherGivenName("Clarissa")
                        .MotherSurname("Hoyt")
                        .Gender("Male")
                        .BirthDate("30 January 1880")
                        .FatherGivenName("Jonathan");
            var state = tree.SearchForPersonMatches(query);

            Assert.DoesNotThrow(() => state.IfSuccessful());
            Assert.AreEqual(HttpStatusCode.OK, state.Response.StatusCode);
        }
예제 #7
0
 /// <summary>
 /// Searches for persons based off the specified query.
 /// </summary>
 /// <param name="query">The query to use for searching.</param>
 /// <param name="options">The options to apply before executing the REST API call.</param>
 /// <returns>
 /// A <see cref="PersonSearchResultsState"/> instance containing the REST API response.
 /// </returns>
 public PersonSearchResultsState SearchForPersons(GedcomxPersonSearchQueryBuilder query, params IStateTransitionOption[] options)
 {
     return(SearchForPersons(query.Build(), options));
 }