public override BaseResource[] SynchronizeIds(BaseResource[] source, Uri subjectUri, BaseResource[] target)
        {
            MnisContactPoint contactPoint = source.OfType <MnisContactPoint>().SingleOrDefault();

            contactPoint.Id = subjectUri;
            PostalAddress postalAddress = target.OfType <PostalAddress>().SingleOrDefault();

            if ((postalAddress != null) && (contactPoint.ContactPointHasPostalAddress != null))
            {
                contactPoint.ContactPointHasPostalAddress.Id = postalAddress.Id;
            }

            return(new BaseResource[] { contactPoint });
        }
        public override BaseResource[] TransformSource(XDocument doc)
        {
            MnisContactPoint contactPoint        = new MnisContactPoint();
            XElement         contactPointElement = doc.Element(atom + "entry")
                                                   .Element(atom + "content")
                                                   .Element(m + "properties");

            contactPoint.ContactPointMnisId = contactPointElement.Element(d + "MemberAddress_Id").GetText();
            contactPoint.Email       = contactPointElement.Element(d + "Email").GetText();
            contactPoint.FaxNumber   = contactPointElement.Element(d + "Fax").GetText();
            contactPoint.PhoneNumber = contactPointElement.Element(d + "Phone").GetText();
            contactPoint.ContactPointHasPostalAddress = GeneratePostalAddress(contactPointElement);
            Person person = generatePerson(contactPointElement);

            if (person != null)
            {
                contactPoint.ContactPointHasPerson = new Person[] { person }
            }
            ;

            return(new BaseResource[] { contactPoint });
        }
        public override BaseResource[] TransformSource(XDocument doc)
        {
            MnisContactPoint contactPoint        = new MnisContactPoint();
            XElement         contactPointElement = doc.Element(atom + "entry")
                                                   .Element(atom + "content")
                                                   .Element(m + "properties");

            contactPoint.ContactPointMnisId = contactPointElement.Element(d + "MemberAddress_Id").GetText();
            contactPoint.Email       = contactPointElement.Element(d + "Email").GetText();
            contactPoint.FaxNumber   = contactPointElement.Element(d + "Fax").GetText();
            contactPoint.PhoneNumber = contactPointElement.Element(d + "Phone").GetText();
            contactPoint.ContactPointHasPostalAddress = GeneratePostalAddress(contactPointElement);
            ElectoralIncumbency incumbency = generateIncumbency(contactPointElement);

            if (incumbency != null)
            {
                contactPoint.ContactPointHasElectoralIncumbency = new ElectoralIncumbency[] { incumbency }
            }
            ;

            return(new BaseResource[] { contactPoint });
        }