public void AddParty(int CaseID, string CPR, string role) { AcadreServiceV7.CaseFileType3 caseFile = caseService.GetCase(CaseID.ToString()); AcadreServiceV7.ContactSearchResponseType createAcadreContact = GetCreateAcadreContact(CPR); caseFile.Party = ((IEnumerable <AcadreServiceV7.PartyType>)caseFile.Party) .Concat(new AcadreServiceV7.PartyType[1] { new AcadreServiceV7.PartyType() { CreationDate = DateTime.Now, ContactReference = createAcadreContact.GUID, PublicAccessLevelReference = "3", IsPrimary = false, PartyRelationTypeLiteral = role } }).ToArray(); caseService.UpdateCase(caseFile); }
private AcadreServiceV7.ContactSearchResponseType GetCreateAcadreContact(string CPR) { var Contact = new AcadreServiceV7.ContactSearchResponseType(); Contact.ContactTypeName = "Person"; var searchContactCriterion = new AcadreServiceV7.SearchContactCriterionType2(); searchContactCriterion.ContactTypeName = "Person"; searchContactCriterion.SearchTerm = CPR; var foundContacts = contactService.SearchContacts(searchContactCriterion); if (foundContacts.Length > 0) { // contact already exists, read GUID and name Contact = foundContacts.First(); } else { // forsøger at finde CPR i CPR Broker SimplePerson simplePerson; try { simplePerson = CPRBrokerService.GetSimplePersonByCPR(CPR); } catch (Exception e) { throw new Exception("CPR-nummeret (" + CPR + ") kunne ikke findes i CPR-registret", e); } // contact doesn't exist - create it and assign GUID var contact = new AcadreServiceV7.PersonType2(); contact.PersonCivilRegistrationIdentifierStatusCode = "0"; contact.PersonCivilRegistrationIdentifier = CPR; contact.PersonNameForAddressingName = Contact.ContactTitle = simplePerson.FullName; Contact.GUID = contactService.CreateContact(contact); } return(Contact); }