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

            if ((constituency.ConstituencyGroupHasHouseSeat != null) && (constituency.ConstituencyGroupHasHouseSeat.Any()) &&
                (constituencyGroup != null) && (constituencyGroup.ConstituencyGroupHasHouseSeat != null))
            {
                constituency.ConstituencyGroupHasHouseSeat.SingleOrDefault().Id = constituencyGroup.ConstituencyGroupHasHouseSeat.SingleOrDefault().Id;
            }

            constituency.Id = subjectUri;
            return(new BaseResource[] { constituency });
        }
        public override BaseResource[] TransformSource(XDocument doc)
        {
            ConstituencyGroup constituency        = new ConstituencyGroup();
            XElement          constituencyElement = doc.Element(atom + "entry")
                                                    .Element(atom + "content")
                                                    .Element(m + "properties");

            constituency.ConstituencyGroupMnisId    = constituencyElement.Element(d + "Constituency_Id").GetText();
            constituency.ConstituencyGroupName      = constituencyElement.Element(d + "Name").GetText();
            constituency.ConstituencyGroupStartDate = constituencyElement.Element(d + "StartDate").GetDate();
            HouseSeat houseSeat = generateHouseSeat();

            constituency.ConstituencyGroupHasHouseSeat = new HouseSeat[] { houseSeat };
            constituency.ConstituencyGroupOnsCode      = constituencyElement.Element(d + "ONSCode").GetText();
            constituency.ConstituencyGroupEndDate      = constituencyElement.Element(d + "EndDate").GetDate();

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