static void DeleteAuditData() { Console.WriteLine("=========================================="); Console.WriteLine($"Deleting audit data deletion until {_auditEndDate.ToString("G")}"); try { var deleteRequest = new DeleteAuditDataRequest(); deleteRequest.EndDate = _auditEndDate; _orgService.Execute(deleteRequest); } catch (Exception ex) { Console.WriteLine($"Error: {ex.Message}"); } }
/// <summary> /// Deletes any entity records that were created for this sample. /// <param name="prompt">Indicates whether to prompt the user /// to delete the records created in this sample.</param> /// </summary> public void DeleteRequiredRecords(bool prompt) { bool deleteRecords = true; if (prompt) { Console.WriteLine("\nDo you want to delete the account record? (y/n) [y]: "); String answer = Console.ReadLine(); deleteRecords = (answer.StartsWith("y") || answer.StartsWith("Y") || answer == String.Empty); } if (deleteRecords) { _service.Delete(Account.EntityLogicalName, _newAccountId); Console.WriteLine("The account record has been deleted."); } if (prompt) { Console.WriteLine("\nDo you want to delete ALL audit records? (y/n) [n]: "); String answer = Console.ReadLine(); deleteRecords = (answer.StartsWith("y") || answer.StartsWith("Y")); } if (deleteRecords) { //<snippetAuditing4> //<snippetAuditing6> // Get the list of audit partitions. RetrieveAuditPartitionListResponse partitionRequest = (RetrieveAuditPartitionListResponse)_service.Execute(new RetrieveAuditPartitionListRequest()); AuditPartitionDetailCollection partitions = partitionRequest.AuditPartitionDetailCollection; //</snippetAuditing6> // Create a delete request with an end date earlier than possible. DeleteAuditDataRequest deleteRequest = new DeleteAuditDataRequest(); deleteRequest.EndDate = new DateTime(2000, 1, 1); // Check if partitions are not supported as is the case with SQL Server Standard edition. if (partitions.IsLogicalCollection) { // Delete all audit records created up until now. deleteRequest.EndDate = DateTime.Now; } // Otherwise, delete all partitions that are older than the current partition. // Hint: The partitions in the collection are returned in sorted order where the // partition with the oldest end date is at index 0. else { for (int n = partitions.Count - 1; n >= 0; --n) { if (partitions[n].EndDate <= DateTime.Now && partitions[n].EndDate > deleteRequest.EndDate) { deleteRequest.EndDate = (DateTime)partitions[n].EndDate; break; } } } // Delete the audit records. if (deleteRequest.EndDate != new DateTime(2000, 1, 1)) { _service.Execute(deleteRequest); Console.WriteLine("Audit records have been deleted."); } else { Console.WriteLine("There were no audit records that could be deleted."); } //</snippetAuditing4> } }
/// <summary> /// Deletes any entity records that were created for this sample. /// <param name="prompt">Indicates whether to prompt the user /// to delete the records created in this sample.</param> /// </summary> public void DeleteRequiredRecords(bool prompt) { bool deleteRecords = true; if (prompt) { Console.WriteLine("\nDo you want to delete the account record? (y/n) [y]: "); String answer = Console.ReadLine(); deleteRecords = (answer.StartsWith("y") || answer.StartsWith("Y") || answer == String.Empty); } if (deleteRecords) { _service.Delete(Account.EntityLogicalName, _newAccountId); Console.WriteLine("The account record has been deleted."); } if (prompt) { Console.WriteLine("\nDo you want to delete ALL audit records? (y/n) [n]: "); String answer = Console.ReadLine(); deleteRecords = (answer.StartsWith("y") || answer.StartsWith("Y")); } if (deleteRecords) { //<snippetAuditing4> //<snippetAuditing6> // Get the list of audit partitions. RetrieveAuditPartitionListResponse partitionRequest = (RetrieveAuditPartitionListResponse)_service.Execute(new RetrieveAuditPartitionListRequest()); AuditPartitionDetailCollection partitions = partitionRequest.AuditPartitionDetailCollection; //</snippetAuditing6> // Create a delete request with an end date earlier than possible. DeleteAuditDataRequest deleteRequest = new DeleteAuditDataRequest(); deleteRequest.EndDate = new DateTime(2000, 1, 1); // Check if partitions are not supported as is the case with SQL Server Standard edition. if (partitions.IsLogicalCollection) { // Delete all audit records created up until now. deleteRequest.EndDate = DateTime.Now; } // Otherwise, delete all partitions that are older than the current partition. // Hint: The partitions in the collection are returned in sorted order where the // partition with the oldest end date is at index 0. else { for (int n = partitions.Count - 1; n >= 0; --n) { if (partitions[n].EndDate <= DateTime.Now && partitions[n].EndDate > deleteRequest.EndDate) { deleteRequest.EndDate = (DateTime)partitions[n].EndDate; break; } } } // Delete the audit records. if (deleteRequest.EndDate != new DateTime(2000, 1, 1)) { _service.Execute(deleteRequest); Console.WriteLine("Audit records have been deleted."); } else Console.WriteLine("There were no audit records that could be deleted."); //</snippetAuditing4> } }