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