Ejemplo n.º 1
0
 public void CleanupTest()
 {
     using (var client = TestHelper.ClientGet())
     {
         var result = client.ContactDelete(TestHelper.ApiKey, TestHelper.SiteKey,
                                           new DeleteRequest(_myContactId),
                                           1);
     }
 }
Ejemplo n.º 2
0
        public void InitializeTest()
        {
            using (var client = TestHelper.ClientGet())
            {
                var result1 = client.ContactSave(TestHelper.ApiKey, TestHelper.SiteKey,
                                                 new ContactRequest
                {
                    FirstName   = "Joe",
                    LastName    = "Schmoe",
                    BirthDate   = new DateTime(1980, 2, 9),
                    ContactType = ContactType.Individual
                });
                _myContactId = result1.Values.First().Id;

                var result0 = client.ContactSave(TestHelper.ApiKey, TestHelper.SiteKey,
                                                 new ContactRequest
                {
                    FirstName   = "Averell",
                    LastName    = "Schmoe",
                    BirthDate   = new DateTime(1980, 2, 9),
                    ContactType = ContactType.Individual
                });
                _myOtherContactId = result0.Values.First().Id;

                var result2 = client.ContactSave(TestHelper.ApiKey, TestHelper.SiteKey,
                                                 new ContactRequest
                {
                    ContactType      = ContactType.Organization,
                    OrganizationName = "Schmoe inc."
                });
                _myCompanyId = result2.Values.First().Id;

                var result3 = client.RelationshipSave(TestHelper.ApiKey, TestHelper.SiteKey,
                                                      new RelationshipRequest
                {
                    RelationshipTypeId = 5,     // Works for
                    ContactIdA         = _myContactId,
                    ContactIdB         = _myCompanyId,
                    IsActive           = true
                });
                _myRelationshipId = result3.Values.First().Id;

                var result4 = client.RelationshipSave(TestHelper.ApiKey, TestHelper.SiteKey,
                                                      new RelationshipRequest
                {
                    RelationshipTypeId = 5,     // Works for
                    ContactIdA         = _myOtherContactId,
                    ContactIdB         = _myCompanyId,
                    IsActive           = false,
                    EndDate            = new DateTime(2016, 8, 8)
                });
                _myOtherRelationshipId = result4.Values.First().Id;
            }
        }
Ejemplo n.º 3
0
        public void CleanupTest()
        {
            using (var client = TestHelper.ClientGet())
            {
                var result = client.EventDelete(TestHelper.ApiKey, TestHelper.SiteKey,
                                                new DeleteRequest(_myEventId));

                Debug.Assert(result.IsError == 0,
                             "Could not delete event. Maybe your API user needs more permissions.");
            }
        }
Ejemplo n.º 4
0
        public void DeleteAddress()
        {
            using (var client = TestHelper.ClientGet())
            {
                var request = new DeleteRequest(_myAddressId);

                var result = client.AddressDelete(TestHelper.ApiKey, TestHelper.SiteKey, request);

                Assert.AreEqual(0, result.IsError);
            }
        }
        public void WorkaroundCrm15815()
        {
            using (var client = TestHelper.ClientGet())
            {
                // Create a contact, chain phone and website.
                var myPhone = new PhoneRequest {
                    PhoneNumber = "03-100 20 00"
                };
                var myWebsite1 = new WebsiteRequest {
                    Url = "http://smurf.com"
                };
                var myWebsite2 = new WebsiteRequest {
                    Url = "http://smurf.org"
                };
                const string myExternalId = "Test_External_Smurf";

                client.ContactSaveWorkaroundCrm15815(TestHelper.ApiKey, TestHelper.SiteKey,
                                                     new ContactRequest
                {
                    ContactType        = ContactType.Individual,
                    LastName           = "Smurf",
                    FirstName          = "Smul",
                    ExternalIdentifier = myExternalId,
                    ApiOptions         = new ApiOptions {
                        Match = "external_identifier"
                    },
                    WebsiteSaveRequest = new List <WebsiteRequest> {
                        myWebsite1, myWebsite2
                    },
                    PhoneSaveRequest = new List <PhoneRequest> {
                        myPhone
                    },
                });

                // Get contact with websites
                var contact = client.ContactGetSingle(TestHelper.ApiKey, TestHelper.SiteKey,
                                                      new ContactRequest
                {
                    ExternalIdentifier = myExternalId,
                    PhoneGetRequest    = new PhoneRequest(),
                    WebsiteGetRequest  = new WebsiteRequest(),
                });

                // Delete contact before doing assertions.
                client.ContactDelete(TestHelper.ApiKey, TestHelper.SiteKey, new DeleteRequest(contact.Id), 1);

                Assert.AreEqual(1, contact.PhoneResult.Count);
                Assert.AreEqual(myPhone.PhoneNumber, contact.PhoneResult.Values.First().PhoneNumber);
                Assert.AreEqual(2, contact.WebsiteResult.Count);
                Assert.AreEqual(myWebsite1.Url, contact.WebsiteResult.Values.First().Url);
                Assert.AreEqual(myWebsite2.Url, contact.WebsiteResult.Values.Last().Url);
            }
        }
 public void CleanupTest()
 {
     using (var client = TestHelper.ClientGet())
     {
         client.LocBlockDelete(TestHelper.ApiKey, TestHelper.SiteKey, new DeleteRequest(_myLocBlock.Id));
         if (_myLocBlock.AddressId != null)
         {
             client.AddressDelete(TestHelper.ApiKey, TestHelper.SiteKey,
                                  new DeleteRequest(_myLocBlock.AddressId.Value));
         }
     }
 }
Ejemplo n.º 7
0
 public void GetAddress()
 {
     using (var client = TestHelper.ClientGet())
     {
         var result = client.AddressGetSingle(TestHelper.ApiKey, TestHelper.SiteKey,
                                              new AddressRequest {
             Id = _myAddressId
         });
         Assert.AreEqual(_myAddressId, result.Id);
         Assert.AreEqual(MyAddressName, result.Name);
     }
 }
Ejemplo n.º 8
0
        public void CleanupTest()
        {
            using (var client = TestHelper.ClientGet())
            {
                var result = client.ContactDelete(TestHelper.ApiKey, TestHelper.SiteKey,
                                                  new DeleteRequest(_myContactId),
                                                  1);

                Debug.Assert(result.IsError == 0,
                             "Could not delete contact. Check for the delete_contact permission of your API user.");
            }
        }
        public void ChainedPhoneAndWebsiteCreate()
        {
            using (var client = TestHelper.ClientGet())
            {
                // Create a contact, chain phone and website.
                var myPhone = new PhoneRequest {
                    PhoneNumber = "03-100 20 00"
                };
                var myWebsite = new WebsiteRequest {
                    Url = "http://smurf.com"
                };

                var result = client.ContactSave(TestHelper.ApiKey, TestHelper.SiteKey,
                                                new ContactRequest
                {
                    ContactType        = ContactType.Individual,
                    LastName           = "Smurf",
                    FirstName          = "Smul",
                    ExternalIdentifier = "Test_External_Smurf",
                    ApiOptions         = new ApiOptions {
                        Match = "external_identifier"
                    },
                    PhoneSaveRequest = new List <PhoneRequest> {
                        myPhone
                    },
                    WebsiteSaveRequest = new List <WebsiteRequest> {
                        myWebsite
                    }
                });

                // TODO: New workaround for upstream issue CRM-15815:
                Assert.IsNotNull(result.Id);

                // Get contact with websites
                var contact = client.ContactGetSingle(TestHelper.ApiKey, TestHelper.SiteKey,
                                                      new ContactRequest
                {
                    Id = result.Id.Value,
                    PhoneGetRequest   = new PhoneRequest(),
                    WebsiteGetRequest = new WebsiteRequest(),
                });

                // Delete contact before doing assertions.
                client.ContactDelete(TestHelper.ApiKey, TestHelper.SiteKey, new DeleteRequest(result.Id.Value), 1);

                Assert.AreEqual(result.Id, contact.Id);
                Assert.AreEqual(1, contact.PhoneResult.Count);
                Assert.AreEqual(myPhone.PhoneNumber, contact.PhoneResult.Values.First().PhoneNumber);
                Assert.AreEqual(1, contact.WebsiteResult.Count);
                Assert.AreEqual(myWebsite.Url, contact.WebsiteResult.Values.First().Url);
            }
        }
Ejemplo n.º 10
0
        public void GetEventDateFilterNotNull()
        {
            using (var client = TestHelper.ClientGet())
            {
                var request = new EventRequest
                {
                    StartDate = new Filter <DateTime?>(WhereOperator.IsNotNull)
                };

                var result = client.EventGet(TestHelper.ApiKey, TestHelper.SiteKey, request);
                Assert.IsTrue(result.Values.All(v => v.StartDate != null));
            }
        }
Ejemplo n.º 11
0
        public void GetEventLocBlockFilterNull()
        {
            using (var client = TestHelper.ClientGet())
            {
                var request = new EventRequest
                {
                    LocBlockIdFilter = new Filter <int>(WhereOperator.IsNull)
                };

                var result = client.EventGet(TestHelper.ApiKey, TestHelper.SiteKey, request);
                Assert.IsTrue(result.Values.All(v => v.LocBlockId == null));
            }
        }
        public void GetMembership()
        {
            var membershipRequest = new MembershipRequest
            {
                ContactId = _myContactId2
            };

            using (var client = TestHelper.ClientGet())
            {
                var result = client.MembershipGet(TestHelper.ApiKey, TestHelper.SiteKey, membershipRequest);

                Assert.AreEqual(1, result.Count);
            }
        }
        public void ChainedWebsiteCreateTwo()
        {
            using (var client = TestHelper.ClientGet())
            {
                // Create a contact, chain website.
                var my1StWebsite = new WebsiteRequest {
                    Url = "http://smurf.com"
                };
                var my2NdWebsite = new WebsiteRequest {
                    Url = "http://salsaparilla.org"
                };

                var newContact = new ContactRequest
                {
                    ContactType        = ContactType.Individual,
                    LastName           = "Smurf",
                    FirstName          = "Smul",
                    ExternalIdentifier = "Test_External_Smurf",
                    ApiOptions         = new ApiOptions {
                        Match = "external_identifier"
                    },
                    WebsiteSaveRequest = new List <WebsiteRequest> {
                        my1StWebsite, my2NdWebsite
                    },
                };

                var result = client.ContactSave(TestHelper.ApiKey, TestHelper.SiteKey, newContact);
                Debug.Assert(result.Id.HasValue);

                // Get contact with websites
                var contact = client.ContactGetSingle(TestHelper.ApiKey, TestHelper.SiteKey,
                                                      new ContactRequest
                {
                    Id = result.Id.Value,
                    WebsiteGetRequest = new WebsiteRequest()
                });
                Assert.IsNotNull(contact.Id);

                // Clean up first (delete contact), then do other assertions.
                // (So the contact gets deleted even if the assertions fail.)
                client.ContactDelete(TestHelper.ApiKey, TestHelper.SiteKey, new DeleteRequest(contact.Id), 1);

                Assert.IsNotNull(contact.Id);
                Assert.AreEqual(newContact.ExternalIdentifier, contact.ExternalIdentifier);
                Assert.AreEqual(2, contact.WebsiteResult.Count);
                Assert.IsTrue(contact.WebsiteResult.Values.Any(ws => ws.Url == my1StWebsite.Url));
                Assert.IsTrue(contact.WebsiteResult.Values.Any(ws => ws.Url == my2NdWebsite.Url));
            }
        }
Ejemplo n.º 14
0
        public void GetEventDateFilter()
        {
            DateTime someDate = new DateTime(2015, 3, 14);

            using (var client = TestHelper.ClientGet())
            {
                var request = new EventRequest
                {
                    StartDate = new Filter <DateTime?> (WhereOperator.Gt, someDate)
                };

                var result = client.EventGet(TestHelper.ApiKey, TestHelper.SiteKey, request);
                Assert.IsTrue(result.Values.All(v => v.StartDate > someDate));
            }
        }
        public void RelationshipDateFilter()
        {
            var membershipRequest = new MembershipRequest
            {
                ContactId       = _myContactId2,
                StartDateFilter = new Filter <DateTime?>(WhereOperator.Gte, new DateTime(2016, 09, 21))
            };

            using (var client = TestHelper.ClientGet())
            {
                var result = client.MembershipGet(TestHelper.ApiKey, TestHelper.SiteKey, membershipRequest);

                Assert.AreEqual(1, result.Count);
            }
        }
        public void Contact1GetTest()
        {
            using (var client = TestHelper.ClientGet())
            {
                // Get the contact, and chain the contact's addresses.
                var resultValue = client.ContactGet(TestHelper.ApiKey, TestHelper.SiteKey, new ContactRequest {
                    Id = 1
                });

                Assert.AreEqual(0, resultValue.IsError);
                Assert.AreEqual(1, resultValue.Count);
                Assert.AreEqual(1, resultValue.Id);
                Assert.AreEqual(1, resultValue.Values.First().Id);
            }
        }
Ejemplo n.º 17
0
        public void GetRelationship()
        {
            using (var client = TestHelper.ClientGet())
            {
                var result = client.RelationshipGet(TestHelper.ApiKey, TestHelper.SiteKey,
                                                    new RelationshipRequest {
                    Id = _myRelationshipId
                });
                var relationship = result.Values.First();

                Assert.AreEqual(_myContactId, relationship.ContactIdA);
                Assert.AreEqual(_myCompanyId, relationship.ContactIdB);
                Assert.AreEqual(5, relationship.RelationshipTypeId);
            }
        }
        public void GetMembershipStatusFilter()
        {
            var membershipRequest = new MembershipRequest
            {
                ContactId    = _myContactId2,
                StatusFilter = new Filter <MembershipStatus>(WhereOperator.In, MembershipStatus.New, MembershipStatus.Current)
            };

            using (var client = TestHelper.ClientGet())
            {
                var result = client.MembershipGet(TestHelper.ApiKey, TestHelper.SiteKey, membershipRequest);

                Assert.AreEqual(1, result.Count);
            }
        }
Ejemplo n.º 19
0
        public void RelationshipDateFilter2()
        {
            using (var client = TestHelper.ClientGet())
            {
                var request = new RelationshipRequest
                {
                    ContactIdB    = _myCompanyId,
                    EndDateFilter = new Filter <DateTime?>(WhereOperator.Lt, new DateTime(2016, 8, 7))
                };

                var result = client.RelationshipGet(TestHelper.ApiKey, TestHelper.SiteKey, request);

                Assert.AreEqual(0, result.Count);
            }
        }
        public void ChainedOptionsWebsite()
        {
            using (var client = TestHelper.ClientGet())
            {
                // Create a contact with two websites.
                var myWebsite1 = new WebsiteRequest {
                    Url = "http://smurf1.com"
                };
                var myWebsite2 = new WebsiteRequest {
                    Url = "http://smurf2.com"
                };

                var saveResult = client.ContactSave(TestHelper.ApiKey, TestHelper.SiteKey,
                                                    new ContactRequest
                {
                    ContactType        = ContactType.Individual,
                    LastName           = "Smurf",
                    FirstName          = "Smul",
                    ExternalIdentifier = "Test_External_Smurf",
                    ApiOptions         = new ApiOptions {
                        Match = "external_identifier"
                    },
                    WebsiteSaveRequest = new List <WebsiteRequest> {
                        myWebsite1, myWebsite2
                    },
                });
                Assert.IsNotNull(saveResult.Id);

                // Get contact with websites, order them backwards, and retrieve only one.
                var contact = client.ContactGetSingle(TestHelper.ApiKey, TestHelper.SiteKey,
                                                      new ContactRequest
                {
                    Id = saveResult.Id.Value,
                    WebsiteGetRequest = new WebsiteRequest
                    {
                        ApiOptions = new ApiOptions {
                            Sort = "url DESC", Limit = 1
                        }
                    }
                });

                // Delete contact before doing assertions.
                client.ContactDelete(TestHelper.ApiKey, TestHelper.SiteKey, new DeleteRequest(saveResult.Id.Value), 1);

                Assert.AreEqual(1, contact.WebsiteResult.Count);
                Assert.AreEqual(myWebsite2.Url, contact.WebsiteResult.Values.First().Url);
            }
        }
        public void GetMembershipWithPayment()
        {
            var membershipRequest = new MembershipRequest
            {
                MembershipPaymentGetRequest = new MembershipPaymentRequest()
            };

            using (var client = TestHelper.ClientGet())
            {
                var result = client.MembershipGet(TestHelper.ApiKey, TestHelper.SiteKey, membershipRequest);

                Assert.IsTrue(result.Count >= 1);
                var first = result.Values.First();
                Assert.IsNotNull(first.MembershipPaymentResult);
            }
        }
        public void CreateWithChainedRelationship()
        {
            using (var client = TestHelper.ClientGet())
            {
                var relationshipSaveRequest = new RelationshipRequest
                {
                    RelationshipTypeId        = 5,
                    ContactIdB                = 1,
                    ContactIdAValueExpression = "$value.id"
                };

                var contact = new ContactRequest
                {
                    ContactType             = ContactType.Individual,
                    FirstName               = "Lucky",
                    LastName                = "Luke",
                    BirthDate               = new DateTime(1946, 3, 3),
                    Gender                  = Gender.Male,
                    ExternalIdentifier      = "test_ext_id_yep",
                    RelationshipSaveRequest = new[] { relationshipSaveRequest },
                    ApiOptions              = new ApiOptions {
                        Match = "external_identifier"
                    }
                };

                var saveResult = client.ContactSave(TestHelper.ApiKey, TestHelper.SiteKey, contact);
                var getResult  = client.ContactGetSingle(TestHelper.ApiKey, TestHelper.SiteKey,
                                                         new ContactRequest
                {
                    Id = saveResult.Id,
                    RelationshipGetRequest = new RelationshipRequest {
                        ContactIdAValueExpression = "$value.id"
                    }
                });

                // Delete first (cleanup), check afterward.
                client.ContactDelete(TestHelper.ApiKey, TestHelper.SiteKey, new DeleteRequest(saveResult.Id.Value), 1);

                Assert.AreEqual(0, saveResult.IsError);
                Assert.AreEqual(1, getResult.RelationshipResult.Count);

                var relationShip = getResult.RelationshipResult.Values.First();

                Assert.AreEqual(relationshipSaveRequest.RelationshipTypeId, relationShip.RelationshipTypeId);
                Assert.AreEqual(relationshipSaveRequest.ContactIdB, relationShip.ContactIdB);
            }
        }
 public void GetAddressWithLocBlock()
 {
     using (var client = TestHelper.ClientGet())
     {
         var addressRequest = new AddressRequest
         {
             Id = _myLocBlock.AddressId,
             LocBlockGetRequest = new LocBlockRequest
             {
                 AddressIdValueExpression = "$value.id"
             }
         };
         var result = client.AddressGet(TestHelper.ApiKey, TestHelper.SiteKey, addressRequest);
         Assert.AreEqual(1, result.Count);
         Assert.AreEqual(_myLocBlock.Id, result.Values.First().LocBlockResult.Id);
     }
 }
        public void DeceasedContactGet()
        {
            using (var client = TestHelper.ClientGet())
            {
                var request = new ContactRequest
                {
                    Id = _myDeceasedContactId
                };

                var result = client.ContactGet(TestHelper.ApiKey, TestHelper.SiteKey, request);

                Assert.AreEqual(0, result.IsError);
                Assert.IsNotNull(result.Id);
                Assert.AreEqual(result.Id, result.Values.First().Id);
                Assert.AreEqual(_myDeceasedContactId, result.Id);
            }
        }
        public void GetMembershipWithContact()
        {
            var membershipRequest = new MembershipRequest
            {
                ContactGetRequest = new ContactRequest(),
                ContactId         = _myContactId2
            };

            using (var client = TestHelper.ClientGet())
            {
                var result = client.MembershipGet(TestHelper.ApiKey, TestHelper.SiteKey, membershipRequest);

                Assert.IsTrue(result.Count >= 1);
                var first = result.Values.First();
                Assert.IsNotNull(first.ContactResult);
                Assert.AreEqual(_myContactId2, first.ContactResult.Values.First().Id);
            }
        }
Ejemplo n.º 26
0
 public void CleanupTest()
 {
     using (var client = TestHelper.ClientGet())
     {
         client.RelationshipDelete(TestHelper.ApiKey, TestHelper.SiteKey, new DeleteRequest(_myRelationshipId));
         client.RelationshipDelete(TestHelper.ApiKey, TestHelper.SiteKey,
                                   new DeleteRequest(_myOtherRelationshipId));
         client.ContactDelete(TestHelper.ApiKey, TestHelper.SiteKey,
                              new DeleteRequest(_myContactId),
                              1);
         client.ContactDelete(TestHelper.ApiKey, TestHelper.SiteKey,
                              new DeleteRequest(_myOtherContactId),
                              1);
         client.ContactDelete(TestHelper.ApiKey, TestHelper.SiteKey,
                              new DeleteRequest(_myCompanyId),
                              1);
     }
 }
        public void ChainedAddressGet()
        {
            using (var client = TestHelper.ClientGet())
            {
                var contact = client.ContactGetSingle(TestHelper.ApiKey, TestHelper.SiteKey, new ContactRequest
                {
                    Id = _myContactId,
                    // We don't need all fields of the contact, we are only interested in the
                    // addresses.

                    // ReturnFields are still in civicrm notation, meaning lowercase and
                    // underscores (see issue #19)
                    ReturnFields      = "id",
                    AddressGetRequest = new AddressRequest()
                });
                Assert.IsTrue(contact.AddressResult.Values.Any(adr => adr.Id == _myAddressId));
            }
        }
 public void InitializeTest()
 {
     using (var client = TestHelper.ClientGet())
     {
         var locBlockRequest = new LocBlockRequest
         {
             Address = new AddressRequest
             {
                 StreetAddress  = "Kipdorp 30",
                 PostalCode     = "2000",
                 City           = "Antwerpen",
                 CountryId      = 1020, // Belgium
                 LocationTypeId = 1,
                 Name           = MyAddressName
             }
         };
         _myLocBlock = client.LocBlockSave(TestHelper.ApiKey, TestHelper.SiteKey, locBlockRequest).Values.First();
     }
 }
 public void ChainedCommunicationGet()
 {
     using (var client = TestHelper.ClientGet())
     {
         var contact = client.ContactGetSingle(TestHelper.ApiKey, TestHelper.SiteKey,
                                               new ContactRequest
         {
             ExternalIdentifier = MyExternalId,
             PhoneGetRequest    = new PhoneRequest(),
             EmailGetRequest    = new EmailRequest(),
             WebsiteGetRequest  = new WebsiteRequest(),
             ImGetRequest       = new ImRequest()
         });
         Assert.IsTrue(contact.PhoneResult.Values.Any(src => src.Id == _myPhoneId));
         Assert.IsTrue(contact.EmailResult.Values.Any(src => src.Id == _myEmailId));
         Assert.IsTrue(contact.WebsiteResult.Values.Any(src => src.Id == _myWebsiteId));
         Assert.IsTrue(contact.ImResult.Values.Any(src => src.Id == _myImId));
     }
 }
Ejemplo n.º 30
0
        public void CreateWebsite()
        {
            using (var client = TestHelper.ClientGet())
            {
                var website = new WebsiteRequest
                {
                    ContactId   = _myContactId,
                    Url         = "http://blog.johanv.org",
                    WebsiteType = WebsiteType.Main
                };

                var result = client.WebsiteSave(TestHelper.ApiKey, TestHelper.SiteKey, website);

                Assert.AreEqual(0, result.IsError);
                Assert.AreEqual(website.ContactId, result.Values.First().ContactId);
                Assert.AreEqual(website.Url, result.Values.First().Url);
                Assert.AreEqual(website.WebsiteType, result.Values.First().WebsiteType);
            }
        }