public SoegListOutputType Create(params string[] names)
        {
            var ret = new SoegListOutputType();

            var objects = names.Select(
                n =>
            {
                var ooo = new LaesResultatType()
                {
                    Item = new FiltreretOejebliksbilledeType()
                    {
                        AttributListe = new AttributListeType()
                        {
                            Egenskab = new EgenskabType[] {
                                new EgenskabType()
                                {
                                    NavnStruktur = new NavnStrukturType()
                                    {
                                        PersonNameStructure = new PersonNameStructureType(n.Split(' '))
                                    }
                                }
                            },
                            RegisterOplysning = new RegisterOplysningType[]
                            {
                                new RegisterOplysningType()
                                {
                                    Item = new CprBorgerType()
                                    {
                                        PersonCivilRegistrationIdentifier = "0123456789"
                                    }
                                }
                            }
                        }
                    }
                };
                return(ooo);
            });

            ret.LaesResultat = objects.ToArray();
            return(ret);
        }
Esempio n. 2
0
        public bool FillFrom(SoegListOutputType searchResult)
        {
            var names    = this.Name.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
            var fullName = new PersonNameStructureType(names).ToString();

            // If multiple matches are found, choose the first one
            var bestMatch = searchResult.LaesResultat
                            .Select(lr => (lr.Item as FiltreretOejebliksbilledeType).AttributListe)
                            .Where(atr => atr != null)
                            .Select(atr => new { atr, FullName = atr.Egenskab.FirstOrDefault()?.NavnStruktur?.PersonNameStructure?.ToString() })
                            .Where(o => o.FullName?.ToLower() == fullName?.ToLower())
                            .FirstOrDefault();

            if (bestMatch != null)
            {
                this.FillFrom(bestMatch.atr);
                return(true);
            }
            else
            {
                return(false);
            }
        }