/// <summary>
        /// Delete the specified document.
        /// </summary>
        /// <param name="database">Database where document is located.</param>
        /// <param name="documentId">Id of document to delete.</param>
        /// <param name="revisionId">Latest revision of document.</param>
        /// <param name="cancellationToken">Cancellation token.</param>
        /// <returns>A response indicating whether action was successful.</returns>
        public async Task <CouchDbDeleteDocumentResult> DeleteDocumentAsync(string database, string documentId, string revisionId, CancellationToken cancellationToken = default)
        {
            var _database = Connect();

            IMongoCollection <BsonDocument> collection = _database.GetCollection <BsonDocument>(database);

            if (!int.TryParse(revisionId, out int revision))
            {
                throw new SimpleHttpResponseException(HttpStatusCode.NotFound, $"ID:{documentId}, Rev:{revisionId} invalid revision");
            }

            BsonDocument filter = new BsonDocument(IdKey, documentId)
            {
                new BsonElement(RevisionKey, new BsonString(revisionId)),
            };

            DeleteResult deleteResult = await collection.DeleteOneAsync(filter);

            if (deleteResult.DeletedCount == 1)
            {
                CouchDbDeleteDocumentResult result = new CouchDbDeleteDocumentResult
                {
                    IsSuccessful = true,
                    DocumentId   = documentId,
                    RevisionId   = revisionId,
                };
                return(result);
            }

            throw new SimpleHttpResponseException(HttpStatusCode.NotFound, $"ID:{documentId}, Rev:{revision} Did not match");
        }
        public async Task <bool> DeleteServiceApplication(string applicationId)
        {
            CouchDbGetDocumentResult getResult = new CouchDbGetDocumentResult();
            string requestDatabase             = $"applications";

            try
            {
                getResult = await _couchDbClient.GetDocumentAsync(requestDatabase, applicationId);
            }
            catch (Exception e)
            {
                Console.WriteLine($"error {e.Message}");
            }

            CouchDbDeleteDocumentResult deleteResult = await _couchDbClient.DeleteDocumentAsync(requestDatabase, getResult.DocumentId, getResult.RevisionId);

            return(deleteResult.IsSuccessful);
        }