private String createAndDeleteAnAccount(String accountName) { String returnId = null; sObject acct = new sObject(); acct.type = "Account"; acct.Any = new System.Xml.XmlElement[] { GetNewXmlElement("Name", (accountName == null) ? "QueryAll Sample" : accountName) }; try { //We are only creating one account so we can index the return array directly SaveResult sr = binding.create(new sObject[] { acct })[0]; if (sr.success) { acct.Id = sr.id; //Ok, now we will delete that account DeleteResult dr = binding.delete(new String[] { acct.Id })[0]; if (!dr.success) { Console.WriteLine("The web service would not let us delete the account: \n" + dr.errors[0].message + "\nHit return to continue..."); Console.ReadLine(); } else { returnId = acct.Id; } } else { Console.WriteLine("The web service would not let us create the account: \n" + sr.errors[0].message + "\nHit return to continue..."); Console.ReadLine(); } } catch (System.Web.Services.Protocols.SoapException e) { Console.WriteLine("Error creating test account: " + e.Message + "\nHit return to continue..."); Console.ReadLine(); } return returnId; }
private void createContactSample() { //Verify that we are already authenticated, if not //call the login function to do so if (!loggedIn) { if (!login()) return; } try { sObject[] cons = new sObject[1]; apex.sObject contact; for (int j = 0; j < cons.Length; j++) { contact = new apex.sObject(); int index = 0; System.Xml.XmlElement[] cont = new System.Xml.XmlElement[17]; if (accounts != null) { cont = new System.Xml.XmlElement[cont.Length + 1]; cont[index++] = GetNewXmlElement("AccountId", accounts[0]); } cont[index++] = GetNewXmlElement("AssistantName", "Jane"); cont[index++] = GetNewXmlElement("AssistantPhone", "777.777.7777"); cont[index++] = GetNewXmlElement("Department", "Purchasing"); cont[index++] = GetNewXmlElement("Description", "International IT Purchaser"); cont[index++] = GetNewXmlElement("Email", "*****@*****.**"); cont[index++] = GetNewXmlElement("Fax", "555.555.5555"); cont[index++] = GetNewXmlElement("MailingCity", "San Mateo"); cont[index++] = GetNewXmlElement("MailingCountry", "US"); cont[index++] = GetNewXmlElement("MailingState", "CA"); cont[index++] = GetNewXmlElement("MailingStreet", "1129 B Street"); cont[index++] = GetNewXmlElement("MailingPostalCode", "94105"); cont[index++] = GetNewXmlElement("MobilePhone", "888.888.8888"); cont[index++] = GetNewXmlElement("FirstName", "Joe"); cont[index++] = GetNewXmlElement("LastName", "Blow"); cont[index++] = GetNewXmlElement("Salutation", "Mr."); cont[index++] = GetNewXmlElement("Phone", "999.999.9999"); cont[index++] = GetNewXmlElement("Title", "Purchasing Director"); contact.Any = cont; contact.type = "Contact"; cons[j] = contact; } SaveResult[] sr = binding.create(cons); for (int j = 0; j < sr.Length; j++) { if (sr[j].success) { Console.WriteLine("A contact was create with an id of: " + sr[j].id); if (accounts != null) Console.WriteLine(" - the contact was associated with the account you created with an id of " + accounts[0] + "."); if (contacts == null) { contacts = new string[] { sr[j].id }; } else { string[] tempContacts = null; tempContacts = new string[contacts.Length + 1]; for (int i = 0; i < contacts.Length; i++) tempContacts[i] = contacts[i]; tempContacts[contacts.Length] = sr[j].id; contacts = tempContacts; } } else { //there were errors during the create call, go through the errors //array and write them to the screen for (int i = 0; i < sr[j].errors.Length; i++) { //get the next error Error err = sr[j].errors[i]; Console.WriteLine("Errors were found on item " + j.ToString()); Console.WriteLine("Error code is: " + err.statusCode.ToString()); Console.WriteLine("Error message: " + err.message); } } Console.Write("\nHit return to continue..."); Console.ReadLine(); } } catch (Exception ex) { Console.WriteLine("\nFailed to execute query succesfully, error message was: \n" + ex.Message); Console.Write("\nHit return to continue..."); Console.ReadLine(); } }
private void updateAccountSample() { //Verify that we are already authenticated, if not //call the login function to do so if (!loggedIn) { if (!login()) return; } try { //check to see if there are any accounts created in this session if (accounts == null) { Console.WriteLine("\nUpdate operation not completed. You will need to create an account during this session to run the update sample."); Console.Write("\nHit return to continue..."); Console.ReadLine(); return; } //create the account object to hold our changes apex.sObject updateAccount = new apex.sObject(); //need to have the id so that web service knows which account to update updateAccount.Id = accounts[0]; //set a new value for the name property updateAccount.Any = new System.Xml.XmlElement[] { this.GetNewXmlElement("Name", "New Account Name from Update Sample") }; updateAccount.type = "Account"; //create one that will throw an error apex.sObject errorAccount = new apex.sObject(); errorAccount.Id = "S:DLFKJLFKJ"; errorAccount.Any = new System.Xml.XmlElement[] { this.GetNewXmlElement("Name", "Error") }; errorAccount.fieldsToNull = new string[] { "Name" }; errorAccount.type = "Account"; //call the update passing an array of object SaveResult[] saveResults = binding.update(new apex.sObject[] { updateAccount, errorAccount }); //loop through the results, checking for errors for (int j = 0; j < saveResults.Length; j++) { Console.WriteLine("Item: " + j); if (saveResults[j].success) Console.WriteLine("An account with an id of: " + saveResults[j].id + " was updated.\n"); else { Console.WriteLine("Item " + j.ToString() + " had an error updating."); Console.WriteLine(" The error reported was: " + saveResults[j].errors[0].message + "\n"); } } } catch (Exception ex) { Console.WriteLine("\nFailed to succesfully update an account, error message was: \n" + ex.Message); } Console.WriteLine("\nHit return to continue..."); Console.ReadLine(); }
private void upsertSample() { // TODO Auto-generated method stub // Verify that we are already authenticated, if not // call the login function to do so if (!loggedIn) { if (!login()) { return; } } try { DescribeSObjectResult dsr = binding.describeSObject("Account"); System.Collections.Hashtable fieldMap = this.makeFieldMap(dsr.fields); if (!fieldMap.ContainsKey("External_Id__c")) { Console.WriteLine("\n\nNOTICE: To run the upsert sample you need \nto add a custom field named \nExternal_Id to the account object. \nSet the size of the field to 8 characters \nand be sure to check the 'External Id' checkbox."); } else { //First, we need to make sure the test accounts do not exist. QueryResult qr = binding.query("Select Id From Account Where External_Id__c = '11111111' or External_Id__c = '22222222'"); if (qr.size > 0) { sObject[] accounts = (sObject[])qr.records; //Get the ids String[] ids = new String[accounts.Length]; for (int i = 0; i < ids.Length; i++) { ids[i] = accounts[i].Id; } //Delete the accounts binding.delete(ids); } //Create a new account using create, we wil use this to update via upsert //We will set the external id to be ones so that we can use that value for the upsert sObject newAccount = new sObject(); newAccount.type = "Account"; newAccount.Any = new System.Xml.XmlElement[] { GetNewXmlElement("Name", "Account to update"), GetNewXmlElement("External_Id__c", "11111111") }; binding.create(new sObject[] { newAccount }); //Now we will create an account that should be updated on insert based //on the external id field. sObject updateAccount = new sObject(); updateAccount.type = "Account"; updateAccount.Any = new System.Xml.XmlElement[] { GetNewXmlElement("Website", "http://www.website.com"), GetNewXmlElement("External_Id__c", "11111111") }; // This account is meant to be new sObject createAccount = new sObject(); createAccount.type = "Account"; createAccount.Any = new System.Xml.XmlElement[] { GetNewXmlElement("Name", "My Company, Inc"), GetNewXmlElement("External_Id__c", "22222222") }; //We have our two accounts, one should be new, the other should be updated. try { // Invoke the upsert call and save the results. // Use External_Id custom field for matching records UpsertResult[] upsertResults = binding.upsert("External_Id__c", new sObject[] { createAccount, updateAccount }); for (int i = 0; i < upsertResults.Length; i++) { UpsertResult result = upsertResults[i]; if (result.success) { Console.WriteLine("\nUpsert succeeded."); Console.WriteLine((result.created ? "Inserted" : "Updated") + " account, id is " + result.id); } else { Console.WriteLine("The Upsert failed because: " + result.errors[0].message); } } } catch (System.Web.Services.Protocols.SoapException ex) { Console.WriteLine("Error from web service: " + ex.Message); } } Console.WriteLine("\nPress the RETURN key to continue..."); Console.ReadLine(); } catch (System.Web.Services.Protocols.SoapException ex) { Console.WriteLine("Error merging account: " + ex.Message + "\nHit return to continue..."); Console.ReadLine(); } }
private void processSample() { // Verify that we are already authenticated, if not // call the login function to do so if (!loggedIn) { if (!login()) { return; } } try { //First step is to create an account that matches the approval process criteria sObject acct = new sObject(); acct.type = "Account"; acct.Any = new System.Xml.XmlElement[] { GetNewXmlElement("Name", "API Approval Sample") }; acct.Id = binding.create(new sObject[] { acct })[0].id; // Next step is to submit the account for approval using a ProcessSubmitRequest ProcessSubmitRequest psr = new ProcessSubmitRequest(); psr.objectId = acct.Id; psr.comments = "This approval request was initiated from the API."; ProcessResult p_res = binding.process(new ProcessRequest[] { psr })[0]; if (p_res.success) { //Since the submission was successful we can now approve or reject it with // a ProcessWorkItmeRequest ProcessWorkitemRequest pwr = new ProcessWorkitemRequest(); pwr.action = "Approve"; pwr.comments = "This request was approved from the API."; pwr.workitemId = p_res.newWorkitemIds[0]; p_res = binding.process(new ProcessRequest[] { pwr })[0]; if (p_res.success) { Console.WriteLine("Successfully submitted and then approved an approval request."); } else { Console.WriteLine("Error approving the work item: " + p_res.errors[0].message); } } else { Console.WriteLine("Error submitting the account for approval: " + p_res.errors[0].message); } } catch (System.Web.Services.Protocols.SoapException e) { Console.WriteLine("The API returned a fault: " + e.Message); } Console.WriteLine("\nHit the enter key to continue..."); Console.ReadLine(); }
private void createAccountSample() { //Verify that we are already authenticated, if not //call the login function to do so if (!loggedIn) { if (!login()) return; } try { apex.sObject account; sObject[] accs = new sObject[2]; for (int j = 0; j < accs.Length; j++) { account = new apex.sObject(); System.Xml.XmlElement[] acct = new System.Xml.XmlElement[14]; int index = 0; if (accounts == null) acct[index++] = GetNewXmlElement("AccountNumber", "0000000"); else acct[index++] = GetNewXmlElement("AccountNumber", "000000" + (accounts.Length + 1)); //account.setAnnualRevenue(new java.lang.Double(4000000.0)); acct[index++] = GetNewXmlElement("BillingCity", "Wichita"); acct[index++] = GetNewXmlElement("BillingCountry", "US"); acct[index++] = GetNewXmlElement("BillingState", "KA"); acct[index++] = GetNewXmlElement("BillingStreet", "4322 Haystack Boulevard"); acct[index++] = GetNewXmlElement("BillingPostalCode", "87901"); acct[index++] = GetNewXmlElement("Description", "World class hay makers."); acct[index++] = GetNewXmlElement("Fax", "555.555.5555"); acct[index++] = GetNewXmlElement("Industry", "Farming"); acct[index++] = GetNewXmlElement("Name", "Golden Straw"); acct[index++] = GetNewXmlElement("NumberOfEmployees", "40"); acct[index++] = GetNewXmlElement("Ownership", "Privately Held"); acct[index++] = GetNewXmlElement("Phone", "666.666.6666"); acct[index++] = GetNewXmlElement("Website", "www.oz.com"); account.type = "Account"; account.Any = acct; accs[j] = account; } //create the object(s) by sending the array to the web service SaveResult[] sr = binding.create(accs); for (int j = 0; j < sr.Length; j++) { if (sr[j].success) { Console.Write(System.Environment.NewLine + "An account was create with an id of: " + sr[j].id); //save the account ids in a class array if (accounts == null) { accounts = new string[] { sr[j].id }; } else { string[] tempAccounts = null; tempAccounts = new string[accounts.Length + 1]; for (int i = 0; i < accounts.Length; i++) tempAccounts[i] = accounts[i]; tempAccounts[accounts.Length] = sr[j].id; accounts = tempAccounts; } } else { //there were errors during the create call, go through the errors //array and write them to the screen for (int i = 0; i < sr[j].errors.Length; i++) { //get the next error Error err = sr[j].errors[i]; Console.WriteLine("Errors were found on item " + j.ToString()); Console.WriteLine("Error code is: " + err.statusCode.ToString()); Console.WriteLine("Error message: " + err.message); } } } Console.WriteLine("\nHit return to continue..."); Console.ReadLine(); } catch (Exception ex) { Console.WriteLine("\nFailed to create account, error message was: \n" + ex.Message); Console.Write("\nHit return to continue..."); Console.ReadLine(); } }
private void emptyRecycleBinSample() { //Verify that we are already authenticated, if not //call the login function to do so if (!loggedIn) { if (!login()) return; } try { Console.Write("\nEmpty the recycle bin? (Y/N) "); String response = Console.ReadLine(); if (response.ToLower().Equals("y")) { // We will create some accounts and then delete them and use // the ids for the emptyRecycleBin method. sObject[] accounts = new sObject[10]; for (int i = 0; i < accounts.Length; i++) { accounts[i] = new sObject(); accounts[i].Any = new System.Xml.XmlElement[1]; accounts[i].Any[0] = GetNewXmlElement("Name", "Test account " + i); accounts[i].type = "Account"; } // save the new accounts String[] createdItemIds = new String[10]; SaveResult[] sr = binding.create(accounts); for (int i = 0; i < sr.Length; i++) { if (sr[i].success) { createdItemIds[i] = sr[i].id; } } // now, delete them DeleteResult[] dr = binding.delete(createdItemIds); String[] deletedItemIds = new String[sr.Length]; for (int i = 0; i < dr.Length; i++) { if (dr[i].success) { deletedItemIds[i] = dr[i].id; } } //call the emptyRecycleBin method EmptyRecycleBinResult[] results = binding.emptyRecycleBin(deletedItemIds); for (int i = 0; i < results.Length; i++) { if (results[i].success) { Console.WriteLine("Lead with id: " + results[i].id + " was successfully queued for permanant delete."); } else { Console.WriteLine("A problem occurred queueing item with id: " + results[i].id + " for permanent delete."); } } Console.WriteLine("Empty recycle bin finished."); Console.ReadLine(); } } catch (Exception ex3) { Console.WriteLine("ERROR: emptying recycle bin.\n" + ex3.Message); } }
/// <remarks/> public System.IAsyncResult Beginupdate(sObject[] sObjects, System.AsyncCallback callback, object asyncState) { return this.BeginInvoke("update", new object[] { sObjects}, callback, asyncState); }
/// <remarks/> public void upsertAsync(string externalIDFieldName, sObject[] sObjects) { this.upsertAsync(externalIDFieldName, sObjects, null); }
/// <remarks/> public void upsertAsync(string externalIDFieldName, sObject[] sObjects, object userState) { if ((this.upsertOperationCompleted == null)) { this.upsertOperationCompleted = new System.Threading.SendOrPostCallback(this.OnupsertOperationCompleted); } this.InvokeAsync("upsert", new object[] { externalIDFieldName, sObjects}, this.upsertOperationCompleted, userState); }
/// <remarks/> public System.IAsyncResult Beginupsert(string externalIDFieldName, sObject[] sObjects, System.AsyncCallback callback, object asyncState) { return this.BeginInvoke("upsert", new object[] { externalIDFieldName, sObjects}, callback, asyncState); }
/// <remarks/> public void updateAsync(sObject[] sObjects, object userState) { if ((this.updateOperationCompleted == null)) { this.updateOperationCompleted = new System.Threading.SendOrPostCallback(this.OnupdateOperationCompleted); } this.InvokeAsync("update", new object[] { sObjects}, this.updateOperationCompleted, userState); }
/// <remarks/> public void updateAsync(sObject[] sObjects) { this.updateAsync(sObjects, null); }
private void createLeadSample() { //Verify that we are already authenticated, if not //call the login function to do so if (!loggedIn) { if (!login()) return; } try { sObject[] leads = new sObject[1]; apex.sObject lead; lead = new apex.sObject(); int index = 0; System.Xml.XmlElement[] leadEls = new System.Xml.XmlElement[17]; leadEls[index++] = GetNewXmlElement("AnnualRevenue", System.Xml.XmlConvert.ToString(1000000.0)); leadEls[index++] = GetNewXmlElement("AnnualRevenueSpecified", System.Xml.XmlConvert.ToString(true)); leadEls[index++] = GetNewXmlElement("City", "San Francisco"); leadEls[index++] = GetNewXmlElement("Company", "Acme Anvils"); leadEls[index++] = GetNewXmlElement("Country", "United States"); leadEls[index++] = GetNewXmlElement("CurrencyIsoCode", "USD"); leadEls[index++] = GetNewXmlElement("Description", "This is a lead that can be converted."); leadEls[index++] = GetNewXmlElement("DoNotCall", System.Xml.XmlConvert.ToString(false)); leadEls[index++] = GetNewXmlElement("DoNotCallSpecified", System.Xml.XmlConvert.ToString(true)); Console.Write("\nPlease enter an email for the lead we are creating."); string email = Console.ReadLine(); if (email == null) leadEls[index++] = GetNewXmlElement("Email", "*****@*****.**"); else leadEls[index++] = GetNewXmlElement("Email", email); leadEls[index++] = GetNewXmlElement("Fax", "5555555555"); leadEls[index++] = GetNewXmlElement("FirstName", "Wiley"); leadEls[index++] = GetNewXmlElement("HasOptedOutOfEmail", System.Xml.XmlConvert.ToString(false)); leadEls[index++] = GetNewXmlElement("HasOptedOutOfEmailSpecified", System.Xml.XmlConvert.ToString(true)); leadEls[index++] = GetNewXmlElement("Industry", "Blacksmithery"); leadEls[index++] = GetNewXmlElement("LastName", "Coyote"); leadEls[index++] = GetNewXmlElement("LeadSource", "Web"); leadEls[index++] = GetNewXmlElement("MobilePhone", "4444444444"); leadEls[index++] = GetNewXmlElement("NumberOfEmployees", System.Xml.XmlConvert.ToString(30)); leadEls[index++] = GetNewXmlElement("NumberOfEmployeesSpecified", System.Xml.XmlConvert.ToString(true)); leadEls[index++] = GetNewXmlElement("NumberofLocations__c", System.Xml.XmlConvert.ToString(1.0)); leadEls[index++] = GetNewXmlElement("NumberofLocations__cSpecified", System.Xml.XmlConvert.ToString(true)); leadEls[index++] = GetNewXmlElement("Phone", "6666666666"); leadEls[index++] = GetNewXmlElement("PostalCode", "94105"); leadEls[index++] = GetNewXmlElement("Rating", "Hot"); leadEls[index++] = GetNewXmlElement("Salutation", "Mr."); leadEls[index++] = GetNewXmlElement("State", "California"); leadEls[index++] = GetNewXmlElement("Status", "Working"); leadEls[index++] = GetNewXmlElement("Street", "10 Downing Street"); leadEls[index++] = GetNewXmlElement("Title", "Director of Directors"); leadEls[index++] = GetNewXmlElement("Website", "www.acmeanvils.com"); lead.Any = leadEls; lead.type = "Lead"; leads[0] = lead; SaveResult[] sr = binding.create(leads); for (int j = 0; j < sr.Length; j++) { if (sr[j].success) { Console.WriteLine("A lead was create with an id of: " + sr[j].id); } else { //there were errors during the create call, go through the errors //array and write them to the screen for (int i = 0; i < sr[j].errors.Length; i++) { //get the next error Error err = sr[j].errors[i]; Console.WriteLine("Errors were found on item " + j.ToString()); Console.WriteLine("Error code is: " + err.statusCode.ToString()); Console.WriteLine("Error message: " + err.message); } } Console.Write("\nHit return to continue..."); Console.ReadLine(); } } catch (Exception ex) { Console.WriteLine("\nFailed to execute query succesfully, error message was: \n" + ex.Message); Console.Write("\nHit return to continue..."); Console.ReadLine(); } }
private void mergeSample() { // TODO Auto-generated method stub // Verify that we are already authenticated, if not // call the login function to do so if (!loggedIn) { if (!login()) { return; } } try { sObject masterAccount = new sObject(); masterAccount.type = "Account"; masterAccount.Any = new System.Xml.XmlElement[] { GetNewXmlElement("Name", "MasterAccount") }; SaveResult masterAccountSaveResult; masterAccountSaveResult = binding.create(new sObject[] { masterAccount })[0]; masterAccount.Id = masterAccountSaveResult.id; System.Xml.XmlElement[] masterAny = masterAccount.Any; System.Array.Resize(ref masterAny, (masterAccount.Any.Length + 1)); masterAny[masterAny.Length - 1] = GetNewXmlElement("Description", "Old description"); masterAccount.Any = masterAny; sObject accountToMerge = new sObject(); accountToMerge.type = "Account"; accountToMerge.Any = new System.Xml.XmlElement[] { GetNewXmlElement("Name", "AccountToMerge"), GetNewXmlElement("Description", "Duplicate account") }; SaveResult accountToMergeSaveResult = binding.create(new sObject[] { accountToMerge })[0]; //Attach a note, which will get re-parented sObject note = new sObject(); note.type = "Note"; note.Any = new System.Xml.XmlElement[] { GetNewXmlElement("ParentId", accountToMergeSaveResult.id), GetNewXmlElement("Body", "This note will be moved to the MasterAccount during merge"), GetNewXmlElement("Title", "Test note to be reparented.") }; SaveResult noteSave = binding.create(new sObject[] { note })[0]; MergeRequest mr = new MergeRequest(); //Perform an update on the master record as part of the merge: masterAccount.Any[masterAccount.Any.Length - 1] = GetNewXmlElement("Description", "Was merged"); mr.masterRecord = masterAccount; mr.recordToMergeIds = (new String[] { accountToMergeSaveResult.id }); MergeResult result = binding.merge(new MergeRequest[] { mr })[0]; Console.WriteLine("Merged " + result.success + " got " + result.updatedRelatedIds.Length + " updated child records\nHit return to continue."); Console.ReadLine(); } catch (System.Web.Services.Protocols.SoapException e) { Console.WriteLine("Error merging account: " + e.Message + "\nHit return to continue..."); Console.ReadLine(); } }
private void createTaskSample() { //Verify that we are already authenticated, if not //call the login function to do so if (!loggedIn) { if (!login()) return; } try { //create an array to create 4 items in one call sObject[] taskarray = new sObject[3]; for (int x = 0; x < taskarray.Length; x++) { //Declare a new task object to hold our values apex.sObject task = new apex.sObject(); int index = 0; System.Xml.XmlElement[] tsk = new System.Xml.XmlElement[5]; if (contacts != null) tsk = new System.Xml.XmlElement[tsk.Length + 1]; if (accounts != null) tsk = new System.Xml.XmlElement[tsk.Length + 1]; //make sure we get some errors on records 3 and 4 if (x > 1) { tsk = new System.Xml.XmlElement[tsk.Length + 1]; tsk[index++] = GetNewXmlElement("OwnerId", "DSF:LJKSDFLKJ"); } //Set the appropriate values on the task tsk[index++] = GetNewXmlElement("ActivityDate", GetDateTimeSerialized(DateTime.Now)); tsk[index++] = GetNewXmlElement("Description", "Get in touch with this person"); tsk[index++] = GetNewXmlElement("Priority", "Normal"); tsk[index++] = GetNewXmlElement("Status", "Not Started"); tsk[index++] = GetNewXmlElement("Subject", "Setup Call"); //The two lines below illustrate associating an object with another object. If //we have created an account and/or a contact prior to creating the task, we will //just grab the first account and/or contact id and place it in the appropriate //reference field. WhoId can be a reference to a contact or a lead or a user. //WhatId can be a reference to an account, campaign, case, contract or opportunity if (contacts != null) tsk[index++] = GetNewXmlElement("WhoId", contacts[0]); if (accounts != null) tsk[index++] = GetNewXmlElement("WhatId", accounts[0]); task.type = "Task"; taskarray[x] = task; } //call the create method passing the array of tasks as sobjects SaveResult[] sr = binding.create(taskarray); for (int j = 0; j < sr.Length; j++) { if (sr[j].success) { Console.WriteLine("A task was create with an id of: " + sr[j].id); if (accounts != null) Console.WriteLine(" - the task was associated with the account you created with an id of " + accounts[0] + "."); if (tasks == null) { tasks = new string[] { sr[j].id }; } else { string[] tempTasks = null; tempTasks = new string[tasks.Length + 1]; for (int i = 0; i < tasks.Length; i++) tempTasks[i] = tasks[i]; tempTasks[tasks.Length] = sr[j].id; tasks = tempTasks; } } else { //there were errors during the create call, go through the errors //array and write them to the screen for (int i = 0; i < sr[j].errors.Length; i++) { //get the next error Error err = sr[j].errors[i]; Console.WriteLine("Errors were found on item " + j.ToString()); Console.WriteLine("Error code is: " + err.statusCode.ToString()); Console.WriteLine("Error message: " + err.message); } } Console.WriteLine("\nCreate task successful."); } Console.Write("\nHit return to continue..."); Console.ReadLine(); } catch (Exception ex) { Console.WriteLine("\nFailed to succesfully create a task, error message was: \n" + ex.Message); Console.Write("\nHit return to continue..."); Console.ReadLine(); } }
/// <remarks/> public void createAsync(sObject[] sObjects) { this.createAsync(sObjects, null); }