public IEnumerator deleteObjectInstance(ObjectInstance objectInstance) { Coroutine <bool> routine = owner.StartCoroutine <bool>( sfClient.delete(objectInstance.id, "Object_Instance__c") ); yield return(routine.coroutine); yield return(routine.getValue()); }
IEnumerator Start() { // Get Salesforce client component SalesforceClient sfdcClient = GetComponent <SalesforceClient>(); // Init client & log in Coroutine <bool> loginRoutine = this.StartCoroutine <bool>( sfdcClient.login(salesforceUsername, salesforcePassword) ); yield return(loginRoutine.coroutine); try { loginRoutine.getValue(); Debug.Log("Salesforce login successful."); } catch (SalesforceConfigurationException e) { Debug.Log("Salesforce login failed due to invalid auth configuration"); throw e; } catch (SalesforceAuthenticationException e) { Debug.Log("Salesforce login failed due to invalid credentials"); throw e; } catch (SalesforceApiException e) { Debug.Log("Salesforce login failed"); throw e; } // Get some cases string query = Case.BASE_QUERY + " ORDER BY Subject LIMIT 5"; Coroutine <List <Case> > getCasesRoutine = this.StartCoroutine <List <Case> >( sfdcClient.query <Case>(query) ); yield return(getCasesRoutine.coroutine); List <Case> cases = getCasesRoutine.getValue(); Debug.Log("Retrieved " + cases.Count + " cases"); // Create sample case Case caseRecord = new Case(null, "Test case", "New"); Coroutine <Case> insertCaseRoutine = this.StartCoroutine <Case>( sfdcClient.insert(caseRecord) ); yield return(insertCaseRoutine.coroutine); insertCaseRoutine.getValue(); Debug.Log("Case created"); // Update sample case caseRecord.subject = "Updated test case"; caseRecord.status = "Closed"; Coroutine <string> updateCaseRoutine = this.StartCoroutine <string>( sfdcClient.update(caseRecord) ); yield return(updateCaseRoutine.coroutine); updateCaseRoutine.getValue(); Debug.Log("Case updated"); // Delete sample case Coroutine <string> deleteCaseRoutine = this.StartCoroutine <string>( sfdcClient.delete(caseRecord) ); yield return(deleteCaseRoutine.coroutine); deleteCaseRoutine.getValue(); Debug.Log("Case deleted"); }