private static async Task SetListed(SqlConnection connection, JObject sourceJObject, string id, string version, bool isListed)
        {
            NuGetV2RepositoryMirrorPackageDeletorEventSource.Log.SetListed(id, version, isListed ? "listed" : "unlisted");
            await PackageDeletor.SetListed(connection, id, version, isListed);

            sourceJObject[ListedKey] = isListed;
        }
        public static async Task DeletePackage(SqlConnection connection, CloudStorageAccount account, JObject sourceJObject, string id, string version)
        {
            var dynamicPackages = await PackageDeletor.GetDeletePackages(connection, id, version);

            if (!dynamicPackages.IsEmpty())
            {
                var dynamicPackage = dynamicPackages.Single();
                NuGetV2RepositoryMirrorPackageDeletorEventSource.Log.DeletingPackage(sourceJObject.ToString());
                await PackageDeletor.DeletePackage(dynamicPackage, connection, account);

                var deletedTime = DateTime.UtcNow.ToString("O");
                sourceJObject[DeletedKey] = deletedTime;
                NuGetV2RepositoryMirrorPackageDeletorEventSource.Log.DeletedPackage(sourceJObject.ToString(), deletedTime);
                if (await PackageDeletor.DeleteStaleRegistation(connection, dynamicPackage))
                {
                    NuGetV2RepositoryMirrorPackageDeletorEventSource.Log.DeletedStaleRegistration(dynamicPackage.Id);
                }
            }
        }