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); } }
/// <summary> /// Website example. /// </summary> public static void Example6() { using (var client = _factory.CreateChannel()) { var contactResult = client.ContactGet(ApiKey, SiteKey, new ContactRequest {ExternalIdentifier = ExternalId}); var website = new WebsiteRequest { ContactId = contactResult.Id, Url = "http://blog.johanv.org", WebsiteType = WebsiteType.Main }; var result = client.WebsiteSave(ApiKey, SiteKey, website); website.Id = result.Values.First().Id; Console.WriteLine("Website added for contact with ContactID {0} (external ID {1})", contactResult.Id, ExternalId); Console.WriteLine("You might want to check that. Then press enter."); Console.ReadLine(); Debug.Assert(website.Id != null); client.WebsiteDelete(ApiKey, SiteKey, new DeleteRequest(website.Id.Value)); Console.WriteLine("Website was deleted again."); } }
public void OffsetOption() { using (var client = TestHelper.ClientGet()) { var website1 = new WebsiteRequest { ContactId = _myContactId, Url = "http://blog.johanv.org", WebsiteType = WebsiteType.Main }; var website2 = new WebsiteRequest { ContactId = _myContactId, Url = "http://civicrm.org", WebsiteType = WebsiteType.Main }; var website3 = new WebsiteRequest { ContactId = _myContactId, Url = "http://www.chiro.be", WebsiteType = WebsiteType.Main }; client.WebsiteSave(TestHelper.ApiKey, TestHelper.SiteKey, website1); client.WebsiteSave(TestHelper.ApiKey, TestHelper.SiteKey, website2); client.WebsiteSave(TestHelper.ApiKey, TestHelper.SiteKey, website3); var result = client.WebsiteGet(TestHelper.ApiKey, TestHelper.SiteKey, new WebsiteRequest {ContactId = _myContactId, ApiOptions = new ApiOptions{Sort = "url", Offset = 2}}); Assert.AreEqual(0, result.IsError); Assert.AreEqual(1, result.Count); Assert.AreEqual(website3.Url, result.Values.First().Url); } }
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 ChainedSearchRequest() { using (var client = TestHelper.ClientGet()) { // Create a contact, chain website. var my1StWebsite = new WebsiteRequest { Url = "http://smurf.com", WebsiteType = WebsiteType.Main}; var my2NdWebsite = new WebsiteRequest { Url = "http://salsaparilla.org", WebsiteType = WebsiteType.Work}; 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 main websites var contact = client.ContactGetSingle(TestHelper.ApiKey, TestHelper.SiteKey, new ContactRequest { Id = result.Id.Value, WebsiteGetRequest = new WebsiteRequest {WebsiteType = WebsiteType.Main} }); 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.IsTrue(contact.WebsiteResult.Values.All(w => w.WebsiteType == WebsiteType.Main)); Assert.IsTrue(contact.WebsiteResult.Values.Any(w => w.Url == my1StWebsite.Url)); } }
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 ChainedPhoneAnd2WebsitesCreate() { using (var client = TestHelper.ClientGet()) { // Create a contact, chain phone and website. var myPhone1 = new PhoneRequest { PhoneNumber = "03-100 20 00" }; var myPhone2 = new PhoneRequest { PhoneNumber = "03-100 20 01" }; var myWebsite1 = new WebsiteRequest { Url = "http://smurf.com" }; var myWebsite2 = new WebsiteRequest { Url = "http://smurf.org" }; 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"}, WebsiteSaveRequest = new List<WebsiteRequest> {myWebsite1, myWebsite2}, PhoneSaveRequest = new List<PhoneRequest> {myPhone1, myPhone2}, }); // This crashes because of 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(2, contact.PhoneResult.Count); Assert.AreEqual(myPhone1.PhoneNumber, contact.PhoneResult.Values.First().PhoneNumber); Assert.AreEqual(myPhone2.PhoneNumber, contact.PhoneResult.Values.Last().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 ChainedWebsiteCreate() { using (var client = TestHelper.ClientGet()) { // Create a contact, chain website. 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"}, WebsiteSaveRequest = new List<WebsiteRequest> { myWebsite } }); 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.AreEqual(result.Id, contact.Id); Assert.AreEqual(1, contact.WebsiteResult.Count); Assert.AreEqual(myWebsite.Url, contact.WebsiteResult.Values.First().Url); // Delete contact client.ContactDelete(TestHelper.ApiKey, TestHelper.SiteKey, new DeleteRequest(result.Id.Value), 1); } }