private static void RevisePersonRecord(PersonRegistryClient client) { var info = ReadPersonalInformation(true, true); var outerPerson = new PRPA_MT101302NO01IdentifiedPerson { id = new[] { new II { root = GetOid(info.FhNumber), extension = info.FhNumber } }, identifiedPerson = new PRPA_MT101302NO01Person() }; var nameItems = CreateNameItems(info); if (nameItems.Count() > 0) { outerPerson.identifiedPerson.name = new[] { new PN(nameItems) } } ; if (IsDateSpecifiedAndValid(info.DateOfBirth)) { outerPerson.identifiedPerson.birthTime = new TS(info.DateOfBirth); } var addressItems = CreateAddressItems(info); if (addressItems.Count() > 0) { outerPerson.identifiedPerson.addr = new[] { new AD(addressItems) } } ; if (info.Gender != "") { outerPerson.identifiedPerson.administrativeGenderCode = CreateAdministrativeGenderCode(info.Gender); } var request = SetTopLevelFields(new PRPA_IN101314NO01 { controlActProcess = new PRPA_IN101314NO01MFMI_MT700721UV01ControlActProcess { subject = new PRPA_IN101314NO01MFMI_MT700721UV01Subject1 { registrationRequest = new PRPA_IN101314NO01MFMI_MT700721UV01RegistrationRequest { subject1 = new PRPA_IN101314NO01MFMI_MT700721UV01Subject2 { identifiedPerson = outerPerson } } } } }); RevisePersonRecordRequestSerializer.Serialize(Console.Out, request); Console.WriteLine("\n"); PRPA_IN101319NO01 response = client.RevisePersonRecord(request); AddPersonOrRevisePersonRecordResponseSerializer.Serialize(Console.Out, response); Console.WriteLine(); }
internal static void AddPerson(PersonRegistryClient client) { var info = ReadPersonalInformation(false, true, true, true); var innerPerson = new PRPA_MT101311NO01Person(); // Registrerer navn var nameItems = CreateNameItems(info); var enumerable = nameItems.ToList(); if (enumerable.Any()) { innerPerson.name = new[] { new PN(enumerable) } } ; // Registrerer fødselsdato if (IsDateSpecifiedAndValid(info.dateOfBirth)) { innerPerson.birthTime = new TS(info.dateOfBirth); } // Registrerer adresser var addressItems = CreateAddressItems(info); var items = addressItems.ToList(); if (items.Any()) { var addressList = new List <AD>(); foreach (var(key, value) in items) { switch (key) { case "private": addressList.Add(new AD(value, new[] { PostalAddressUse.H })); break; case "temp": addressList.Add(new AD(value, new[] { PostalAddressUse.TMP })); break; } } innerPerson.addr = addressList.ToArray(); } // Registrerer kjønn if (info.gender != "") { innerPerson.administrativeGenderCode = CreateAdministrativeGenderCode(info.gender); } // Registrerer kontaktmåte - mobil var telecomItems = CreateTelecomItems(info); var tel = telecomItems.ToList(); if (tel.Any()) { innerPerson.telecom = tel.ToArray(); } // OtherID if (info.passNr != "") { innerPerson.asOtherIDs = new[] { new PRPA_MT101311NO01OtherIDs() { id = new[] { new II { root = GetNationalityOid(info.passNrIssuerNationality), extension = info.passNr } } } }; } var request = SetTopLevelFields(new PRPA_IN101311NO01 { controlActProcess = new PRPA_IN101311NO01MFMI_MT700721UV01ControlActProcess { subject = new PRPA_IN101311NO01MFMI_MT700721UV01Subject1 { registrationRequest = new PRPA_IN101311NO01MFMI_MT700721UV01RegistrationRequest { subject1 = new PRPA_IN101311NO01MFMI_MT700721UV01Subject2 { identifiedPerson = new PRPA_MT101311NO01IdentifiedPerson { identifiedPerson = innerPerson } } } } } }); AddPersonRequestSerializer.Serialize(Console.Out, request); Console.WriteLine("\n"); PRPA_IN101319NO01 response = client.AddPersonAsync(request).Result; AddPersonOrRevisePersonRecordResponseSerializer.Serialize(Console.Out, response); Console.WriteLine("\n"); var pathToFirstNull = new List <string>(); var subject = NullSafeObjectPathTraverser.Traverse(response, r => r.controlActProcess.subject, pathToFirstNull); if (subject == null || subject.Length <= 0) { return; } var id = NullSafeObjectPathTraverser.Traverse(subject[0], s => s.registrationEvent.subject1.identifiedPerson.id, pathToFirstNull); if (id != null && id.Length > 0) { Console.WriteLine("The person has been given the FH-number " + id[0].extension); } }
private static void AddPerson(PersonRegistryClient client) { var info = ReadPersonalInformation(false, true); var innerPerson = new PRPA_MT101311NO01Person(); var nameItems = CreateNameItems(info); if (nameItems.Count() > 0) { innerPerson.name = new[] { new PN(nameItems) } } ; if (IsDateSpecifiedAndValid(info.DateOfBirth)) { innerPerson.birthTime = new TS(info.DateOfBirth); } var addressItems = CreateAddressItems(info); if (addressItems.Count() > 0) { innerPerson.addr = new[] { new AD(addressItems) } } ; if (info.Gender != "") { innerPerson.administrativeGenderCode = CreateAdministrativeGenderCode(info.Gender); } var request = SetTopLevelFields(new PRPA_IN101311NO01 { controlActProcess = new PRPA_IN101311NO01MFMI_MT700721UV01ControlActProcess { subject = new PRPA_IN101311NO01MFMI_MT700721UV01Subject1 { registrationRequest = new PRPA_IN101311NO01MFMI_MT700721UV01RegistrationRequest { subject1 = new PRPA_IN101311NO01MFMI_MT700721UV01Subject2 { identifiedPerson = new PRPA_MT101311NO01IdentifiedPerson { identifiedPerson = innerPerson } } } } } }); AddPersonRequestSerializer.Serialize(Console.Out, request); Console.WriteLine("\n"); PRPA_IN101319NO01 response = client.AddPerson(request); AddPersonOrRevisePersonRecordResponseSerializer.Serialize(Console.Out, response); Console.WriteLine("\n"); var pathToFirstNull = new List <string>(); var subject = NullSafeObjectPathTraverser.Traverse(response, r => r.controlActProcess.subject, pathToFirstNull); if (subject != null && subject.Length > 0) { var id = NullSafeObjectPathTraverser.Traverse(subject[0], s => s.registrationEvent.subject1.identifiedPerson.id, pathToFirstNull); if (id != null && id.Length > 0) { Console.WriteLine("The person has been given the FH-number " + id[0].extension); } } }