private async Task <CaseResponse> UpdateAsync(SalesforceEventTypeEnum eventType, string sObject, string caseId, object record, ICaseClientProxy client = null, IDictionary <string, object> logData = null) { ProxySuccessResponse response = null; CaseResponse caseResponse = null; var isError = false; var metric = new MetricWatcher(eventType.ToString(), new MetricWatcherOption { ManualStartStop = true, LoggingOption = LogOptionEnum.FullLog, LogMessage = logData }); try { metric.Start(); if (client == null) { client = await CaseService.GetUserNamePasswordForceClientAsync(ClientEnum.Header); } response = await client.UpdateAsync(sObject, caseId, record); } catch (Exception ex) { isError = true; if (ex is ForceException) { throw new ExternalErrorException(ex.GetExceptionMessages(), new LogObject(eventType.ToString(), logData), ex); } throw; } finally { if (response != null) { response.Id = caseId; caseResponse = await HandleCaseResponse(client, response, isError, metric); } metric.Stop(isError); } return(caseResponse); }
public async Task <CaseResponse> UpdateAsync(SalesforceEventTypeEnum eventType, string sObject, string caseId, object record, IDictionary <string, object> logData) { return(await UpdateAsync(eventType, sObject, caseId, record, null, logData)); }