/// <summary>
        /// Delete Ghostscript Instance using Ghostscript import Dll.
        /// </summary>
        private void DeleteGSInstance()
        {
            IntPtr         pAddressOfFunctionToCall = GetProcAddress(m_LibraryPointerDll, "gsapi_delete_instance");
            DeleteInstance deleteInstance           = (DeleteInstance)Marshal.GetDelegateForFunctionPointer(pAddressOfFunctionToCall, typeof(DeleteInstance));

            deleteInstance(m_Instance);
        }
        /// <summary>
        /// Deletes a Customer Engagement instance in your Office 365 tenant.
        /// </summary>
        /// <param name="deleteInstanceRequest">The delete instance request.</param>
        /// <returns>
        /// Operation result.
        /// </returns>
        public async Task <OperationStatusResponse> DeleteInstance(DeleteInstance deleteInstanceRequest)
        {
            OperationStatus result = null;

            this.ConnectToApi();

            string requestUrl = $"/api/v1/instances/{deleteInstanceRequest.InstanceId}/Delete";

            if (deleteInstanceRequest.IsValidateOnlyRequest)
            {
                requestUrl += "?validate=true";
            }

            var request  = new HttpRequestMessage(HttpMethod.Delete, requestUrl);
            var response = await _httpClient.SendAsync(request);

            var rawResult = response.Content.ReadAsStringAsync().Result;

            if (response.IsSuccessStatusCode)
            {
                Trace.TraceInformation($"Successfully delete instance: \n{rawResult}");
            }
            else
            {
                Trace.TraceError($"The request failed with a status of '{response.ReasonPhrase}'");
            }

            result = JsonConvert.DeserializeObject <OperationStatus>(rawResult);

            return(new OperationStatusResponse()
            {
                IsSuccess = response.IsSuccessStatusCode, OperationStatus = result
            });
        }
 public string GetDeleteInstanceCommandText
 (
     long sopInstanceKey
 )
 {
     return(DeleteInstance.DeleteText(
                SchemaProvider.ObjectInstanceTable.KeyColumn.Name,
                SchemaProvider.SeriesTable.KeyColumn.Name,
                SchemaProvider.StudyTable.KeyColumn.Name,
                SchemaProvider.PatientTable.KeyColumn.Name,
                SchemaProvider.ObjectInstanceTable.Name,
                SchemaProvider.SeriesTable.Name,
                SchemaProvider.StudyTable.Name,
                SchemaProvider.PatientTable.Name,
                SchemaProvider.ObjectInstanceTable.ForeignColumn.Name,
                SchemaProvider.SeriesTable.ForeignColumn,
                SchemaProvider.StudyTable.ForeignColumn,
                sopInstanceKey));
 }