示例#1
0
        /*
         * @description Updates a Salesforce record.
         *
         * @param record The record
         * @return an empty string
         * @throws SalesforceApiException if request fails
         */
        public IEnumerator update(SalesforceRecord record)
        {
            assertUserIsLoggedIn();

            JSONObject recordJson = record.toJson();

            recordJson.Remove("Id");

            string url = getDataServiceUrl() + "sobjects/" + record.getSObjectName() + "/" + record.id;

            using (UnityWebRequest request = getBaseRequest(url, "PATCH")) {
                request.uploadHandler = new UploadHandlerRaw(System.Text.Encoding.UTF8.GetBytes(recordJson.ToString()));
                yield return(request.SendWebRequest());

                if (request.isNetworkError || request.isHttpError)
                {
                    logResponseError(request);
                    throw new SalesforceApiException("Salesforce update error: " + request.error);
                }
                else
                {
                    logResponseSuccess(request);
                    yield return(request.downloadHandler.text);
                }
            }
        }
示例#2
0
        /*
         * @description Deletes a Salesforce record.
         *
         * @param record The record
         * @return an empty string
         * @throws SalesforceApiException if request fails
         */
        public IEnumerator delete(SalesforceRecord record)
        {
            assertUserIsLoggedIn();

            string url = getDataServiceUrl() + "sobjects/" + record.getSObjectName() + "/" + record.id;

            using (UnityWebRequest request = getBaseRequest(url, "DELETE")) {
                yield return(request.SendWebRequest());

                if (request.isNetworkError || request.isHttpError)
                {
                    logResponseError(request);
                    throw new SalesforceApiException("Salesforce delete error: " + request.error);
                }
                else
                {
                    logResponseSuccess(request);
                    yield return(request.downloadHandler.text);
                }
            }
        }