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 }); }
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); }
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"); } }