Exemple #1
0
        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);
            }
        }
Exemple #2
0
        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);
                }
            }
        }