private byte[] GetHeaderByteArray(DeploymentPackageHeader header)
 {
     using (MemoryStream headerStream = new MemoryStream())
     {
         // Create the header file
         XmlSerializer serializer = new XmlSerializer(typeof(DeploymentPackageHeader));
         serializer.Serialize(headerStream, header);
         headerStream.Flush();
         return(headerStream.ToArray());
     }
 }
        public override bool Equals(object obj)
        {
            DeploymentPackageHeader pkg = (DeploymentPackageHeader)obj;

            if (pkg.Id == _id)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
        private DeploymentPackageHeader TranslateHeader(
            DeploymentPackageMetadata value)
        {
            DeploymentPackageHeader package = new DeploymentPackageHeader();

            package.Id              = value.Id;
            package.Name            = value.Name;
            package.Version         = value.Version;
            package.TypeId          = value.TypeId;
            package.TypeName        = value.Type;
            package.CreatedBy       = value.CreatedBy;
            package.CreatedWhen     = value.CreatedWhen;
            package.LastUpdatedBy   = value.LastUpdatedBy;
            package.LastUpdatedWhen = value.LastUpdatedWhen;

            return(package);
        }
        private void ExportPackage(int newPackageId, byte[] bytes)
        {
            using (var service = GetPackageDesignService())
            {
                DeploymentPackageHeader packageHeader = GetPackageHeader(service, newPackageId);

                using (var destinationStream = new MemoryStream())
                {
                    using (var outputStream = new ZipOutputStream(destinationStream))
                    {
                        outputStream.SetLevel(5); // 0 - store only to 9 - means best compression

                        var entry = new ZipEntry("PackageHeader.xml");
                        outputStream.PutNextEntry(entry);
                        byte[] headerArray = GetHeaderByteArray(packageHeader);
                        outputStream.Write(headerArray, 0, headerArray.Length);

                        entry = new ZipEntry("PackageContents.zip");
                        outputStream.PutNextEntry(entry);
                        outputStream.Write(bytes, 0, bytes.Length);

                        outputStream.Finish();

                        string path = Path.Combine(
                            this.PackageContentDirectory,
                            string.Format("{0}_{1}.zip",
                                          this.PackageName, this.PackageVersion));

                        using (var bw = new BinaryWriter(File.OpenWrite(path)))
                        {
                            bw.Write(destinationStream.ToArray());
                        }
                    }
                }
            }
        }
        private DeploymentPackageHeader TranslateHeader(
            DeploymentPackageMetadata value)
        {
            DeploymentPackageHeader package = new DeploymentPackageHeader();
            package.Id = value.Id;
            package.Name = value.Name;
            package.Version = value.Version;
            package.TypeId = value.TypeId;
            package.TypeName = value.Type;
            package.CreatedBy = value.CreatedBy;
            package.CreatedWhen = value.CreatedWhen;
            package.LastUpdatedBy = value.LastUpdatedBy;
            package.LastUpdatedWhen = value.LastUpdatedWhen;

            return package;
        }
 private byte[] GetHeaderByteArray(DeploymentPackageHeader header)
 {
     using (MemoryStream headerStream = new MemoryStream())
     {
         // Create the header file
         XmlSerializer serializer = new XmlSerializer(typeof(DeploymentPackageHeader));
         serializer.Serialize(headerStream, header);
         headerStream.Flush();
         return headerStream.ToArray();
     }
 }