示例#1
0
        /// <summary>
        /// Delete a checkpoint.
        /// </summary>
        /// <param name="checkpoint">The checkpoint to delete.</param>
        public void DeleteCheckpoint(Checkpoint checkpoint)
        {
            if (checkpoint == null)
            {
                throw new ArgumentNullException("checkpoint");
            }

            SalesForceAPI.Tooling.deleteResponse response = _client.ToolingClient.delete(new SalesForceAPI.Tooling.deleteRequest(
                                                                                             new SalesForceAPI.Tooling.SessionHeader()
            {
                sessionId = _client.SessionId
            },
                                                                                             new string[] { checkpoint.Id }));

            if (response != null && response.result != null && response.result.Length == 1)
            {
                if (!response.result[0].success)
                {
                    StringBuilder sb = new StringBuilder();
                    if (response.result[0].errors != null)
                    {
                        foreach (SalesForceAPI.Tooling.Error err in response.result[0].errors)
                        {
                            sb.AppendLine(err.message);
                        }
                    }

                    throw new Exception("Couldn't delete checkpoint: \r\n" + sb.ToString());
                }
            }
            else
            {
                throw new Exception("Couldn't delete checkpoint: Invalid response received.");
            }
        }
示例#2
0
        /// <summary>
        /// Delete the given logs.
        /// </summary>
        /// <param name="logs">The logs to delete.</param>
        public void DeleteLogs(IEnumerable <Log> logs)
        {
            if (logs == null)
            {
                throw new ArgumentNullException("logs");
            }

            List <string> logIds = new List <string>();

            foreach (Log log in logs)
            {
                logIds.Add(log.Id);
            }

            SalesForceAPI.Tooling.deleteResponse response = _client.ToolingClient.delete(new SalesForceAPI.Tooling.deleteRequest(
                                                                                             new SalesForceAPI.Tooling.SessionHeader()
            {
                sessionId = _client.SessionId
            },
                                                                                             logIds.ToArray()));

            if (response != null && response.result != null)
            {
                foreach (SalesForceAPI.Tooling.DeleteResult result in response.result)
                {
                    if (!result.success)
                    {
                        StringBuilder sb = new StringBuilder();
                        if (response.result[0].errors != null)
                        {
                            foreach (SalesForceAPI.Tooling.Error err in response.result[0].errors)
                            {
                                sb.AppendLine(err.message);
                            }
                        }

                        throw new Exception("Couldn't delete all logs: \r\n" + sb.ToString());
                    }
                }
            }
            else
            {
                throw new Exception("Couldn't delete logs: Invalid response received.");
            }
        }
示例#3
0
        /// <summary>
        /// Delete the given log parameters.
        /// </summary>
        /// <param name="logListener">The log listener to delete.</param>
        public void DeleteLogListener(LogListener logListener)
        {
            if (logListener == null)
            {
                throw new ArgumentNullException("logParameters");
            }

            if (String.IsNullOrWhiteSpace(logListener.Id))
            {
                return;
            }

            SalesForceAPI.Tooling.deleteResponse response = _client.ToolingClient.delete(new SalesForceAPI.Tooling.deleteRequest(
                                                                                             new SalesForceAPI.Tooling.SessionHeader()
            {
                sessionId = _client.SessionId
            },
                                                                                             new string[] { logListener.Id }));

            if (response != null && response.result != null && response.result.Length == 1)
            {
                if (!response.result[0].success)
                {
                    StringBuilder sb = new StringBuilder();
                    if (response.result[0].errors != null)
                    {
                        foreach (SalesForceAPI.Tooling.Error err in response.result[0].errors)
                        {
                            sb.AppendLine(err.message);
                        }
                    }

                    throw new Exception("Couldn't delete checkpoint: \r\n" + sb.ToString());
                }
            }
            else
            {
                throw new Exception("Couldn't delete checkpoint: Invalid response received.");
            }
        }