private static void FindCandidates(PersonRegistryClient client) { var info = ReadPersonalInformation(false, false); var paramList = new PRPA_MT101306NO01ParameterList(); var nameItems = CreateNameItems(info); if (nameItems.Count() > 0) { paramList.personName = CreatePersonNameParameter(nameItems); } if (IsDateSpecifiedAndValid(info.DateOfBirth)) { paramList.personBirthTime = CreatePersonBirthTimeParameter(info.DateOfBirth); } var addressItems = CreateAddressItems(info); if (addressItems.Count() > 0) { paramList.identifiedPersonAddress = CreateIdentifiedPersonAddressParameter(addressItems); } var message = SetTopLevelFields(new PRPA_IN101305NO01 { controlActProcess = new PRPA_IN101305NO01QUQI_MT021001UV01ControlActProcess { queryByParameter = new PRPA_MT101306NO01QueryByParameter { parameterList = paramList } } }); FindCandidatesRequestSerializer.Serialize(Console.Out, message); Console.WriteLine("\n"); PRPA_IN101306NO01 result = client.FindCandidates(message); FindCandidatesResponseSerializer.Serialize(Console.Out, result); Console.WriteLine("\n"); Console.WriteLine("Found {0} persons:", result.controlActProcess.queryAck.resultTotalQuantity.value); if (result.controlActProcess.subject != null) { foreach (var subject in result.controlActProcess.subject) { Console.WriteLine(PersonToString(subject.registrationEvent.subject1.identifiedPerson)); } } }
internal static void FindCandidates(PersonRegistryClient client) { var info = ReadPersonalInformation(false, true, false, true); var paramList = new PRPA_MT101306NO01ParameterList(); // Search for people created within specified period //var requestCreation = false; //var resp = ReadLineAndTrim("Søke på creationTime (J/N): "); //if (resp.ToUpper() == "J") requestCreation = true; //if (requestCreation) //{ // var creationFrom = ReadLineAndTrim($"Fra dato ({DateFormat}): "); // var creationTo = ReadLineAndTrim($"Til dato ({DateFormat}): "); // var ds = new PRPA_MT101306NO01QueryByParameter(); // ds. //} var nameItems = CreateNameItems(info); var items = nameItems.ToList(); if (items.Any()) { paramList.personName = CreatePersonNameParameter(items); } if (IsDateSpecifiedAndValid(info.dateOfBirth)) { paramList.personBirthTime = CreatePersonBirthTimeParameter(info.dateOfBirth); } if (info.gender != string.Empty) { paramList.personAdministrativeGender = CreatePersonAdministrativeGenderParameter(info.gender); } var addressItems = CreateAddressItems(info); var addressList = addressItems.ToList(); if (addressList.Any()) { foreach (var addrItem in addressList) { paramList.identifiedPersonAddress = addrItem.Key switch { "private" => CreateIdentifiedPersonAddressParameter(addrItem.Value, PostalAddressUse.H), "temp" => CreateIdentifiedPersonAddressParameter(addrItem.Value, PostalAddressUse.WP), _ => paramList.identifiedPersonAddress }; } } var message = SetTopLevelFields(new PRPA_IN101305NO01 { controlActProcess = new PRPA_IN101305NO01QUQI_MT021001UV01ControlActProcess { queryByParameter = new PRPA_MT101306NO01QueryByParameter { parameterList = paramList } } }); FindCandidatesRequestSerializer.Serialize(Console.Out, message); Console.WriteLine("\n"); PRPA_IN101306NO01 result = client.FindCandidatesAsync(message).Result; FindCandidatesResponseSerializer.Serialize(Console.Out, result); Console.WriteLine("\n"); Console.WriteLine("Found {0} persons:", result.controlActProcess.queryAck.resultTotalQuantity.value); if (result.controlActProcess.subject != null) { foreach (var subject in result.controlActProcess.subject) { Console.WriteLine(PersonToString(subject.registrationEvent.subject1.identifiedPerson)); } } }