GetPackages() static private method

static private GetPackages ( IDbExecutor dbExecutor, int packageRegistrationKey ) : IEnumerable
dbExecutor IDbExecutor
packageRegistrationKey int
return IEnumerable
        public override void ExecuteCommand()
        {
            Log.Info(
                "Deleting package registration and all package versions for '{0}'.",
                PackageId);

            using (var sqlConnection = new SqlConnection(ConnectionString.ConnectionString))
                using (var dbExecutor = new SqlExecutor(sqlConnection))
                {
                    sqlConnection.Open();

                    var packageRegistration = Util.GetPackageRegistration(
                        dbExecutor,
                        PackageId);
                    var packages = Util.GetPackages(
                        dbExecutor,
                        packageRegistration.Key);

                    foreach (var package in packages)
                    {
                        var task = new DeletePackageVersionTask {
                            ConnectionString = ConnectionString,
                            BackupStorage    = BackupStorage,
                            StorageAccount   = StorageAccount,
                            PackageId        = package.Id,
                            PackageVersion   = package.Version,
                            Reason           = Reason,
                            WhatIf           = WhatIf
                        };
                        task.ExecuteCommand();
                    }

                    Log.Info(
                        "Deleting package registration data for '{0}'",
                        packageRegistration.Id);
                    if (!WhatIf)
                    {
                        dbExecutor.Execute(
                            "DELETE por FROM PackageOwnerRequests por JOIN PackageRegistrations pr ON pr.[Key] = por.PackageRegistrationKey WHERE pr.[Key] = @packageRegistrationKey",
                            new { packageRegistrationKey = packageRegistration.Key });
                        dbExecutor.Execute(
                            "DELETE pro FROM PackageRegistrationOwners pro JOIN PackageRegistrations pr ON pr.[Key] = pro.PackageRegistrationKey WHERE pr.[Key] = @packageRegistrationKey",
                            new { packageRegistrationKey = packageRegistration.Key });
                        dbExecutor.Execute(
                            "DELETE FROM PackageRegistrations WHERE [Key] = @packageRegistrationKey",
                            new { packageRegistrationKey = packageRegistration.Key });
                    }
                }

            Log.Info(
                "Deleted package registration and all package versions for '{0}'.",
                PackageId);
        }