Exemplo n.º 1
0
        public override BaseResource[] TransformSource(XDocument doc)
        {
            FormalBodyMembership formalBodyMembership = new FormalBodyMembership();
            XElement             formalBodyElement    = doc.Element(atom + "entry")
                                                        .Element(atom + "content")
                                                        .Element(m + "properties");

            formalBodyMembership.FormalBodyMembershipMnisId        = formalBodyElement.Element(d + "MemberCommittee_Id").GetText();
            formalBodyMembership.FormalBodyMembershipStartDate     = formalBodyElement.Element(d + "StartDate").GetDate();
            formalBodyMembership.FormalBodyMembershipHasFormalBody = generateFormalBodyMembership(formalBodyElement);
            formalBodyMembership.FormalBodyMembershipEndDate       = formalBodyElement.Element(d + "EndDate").GetDate();
            generateMembershipMember(formalBodyMembership, formalBodyElement);

            return(new BaseResource[] { formalBodyMembership });
        }
Exemplo n.º 2
0
        public override BaseResource[] SynchronizeIds(BaseResource[] source, Uri subjectUri, BaseResource[] target)
        {
            Person mnisFormalBodyLayPerson = source.OfType <Person>().SingleOrDefault();

            mnisFormalBodyLayPerson.Id = subjectUri;
            if (mnisFormalBodyLayPerson.PersonHasGenderIdentity != null)
            {
                GenderIdentity genderIdentity = target.OfType <GenderIdentity>().SingleOrDefault();
                if (genderIdentity != null)
                {
                    mnisFormalBodyLayPerson.PersonHasGenderIdentity.SingleOrDefault().Id = genderIdentity.Id;
                }
            }
            if (mnisFormalBodyLayPerson.PersonHasFormalBodyMembership != null)
            {
                FormalBodyMembership formalBodyMembership = target.OfType <FormalBodyMembership>().SingleOrDefault();
                if (formalBodyMembership != null)
                {
                    mnisFormalBodyLayPerson.PersonHasFormalBodyMembership.SingleOrDefault().Id = formalBodyMembership.Id;
                }
            }
            return(source);
        }
Exemplo n.º 3
0
        private void generateMembershipMember(FormalBodyMembership formalBodyMembership,
                                              XElement formalBodyElement)
        {
            string memberMnisId = formalBodyElement.Element(d + "Member_Id").GetText();

            if (string.IsNullOrWhiteSpace(memberMnisId) == false)
            {
                Uri personUri = IdRetrieval.GetSubject("memberMnisId", memberMnisId, false, logger);
                if (personUri != null)
                {
                    if (formalBodyElement.Element(d + "ExOfficio").GetBoolean() == true)
                    {
                        formalBodyMembership.ExOfficioMembershipHasMember = new Member()
                        {
                            Id = personUri
                        }
                    }
                    ;
                    else
                    {
                        formalBodyMembership.FormalBodyMembershipHasPerson = new Person()
                        {
                            Id = personUri
                        }
                    };
                }
                else
                {
                    logger.Warning($"No member found for id {memberMnisId}");
                }
            }
            else
            {
                logger.Warning("No member data");
            }
        }