コード例 #1
0
        private static PnPInfo LoadPnPPackage(PnPPackage package)
        {
            PnPInfo pnpInfo = new PnPInfo();
            pnpInfo.Manifest = package.Manifest;
            pnpInfo.Properties = package.Properties;
            pnpInfo.FilesMap = package.FilesMap;

            pnpInfo.Files = new List<PnPFileInfo>();

            foreach (KeyValuePair<String, PnPPackageFileItem> file in package.Files)
            {
                pnpInfo.Files.Add(
                    new PnPFileInfo
                    {
                        InternalName = file.Key,
                        OriginalName = package.FilesMap != null ?
                            (String.IsNullOrEmpty(file.Value.Folder) ?
                            package.FilesMap.Map[file.Key] :
                            package.FilesMap.Map[file.Key].Replace(file.Value.Folder + '/', "")) :
                            file.Key,
                        Folder = file.Value.Folder,
                        Content = file.Value.Content,
                    });
            }
            return pnpInfo;
        }
コード例 #2
0
 private static void SavePnPPackage(PnPInfo pnpInfo, PnPPackage package)
 {
     package.Manifest = pnpInfo.Manifest;
     package.Properties = pnpInfo.Properties;
     package.FilesMap = new PnPFilesMap(pnpInfo.Files.ToDictionary(f => f.InternalName, f => f.OriginalName));
     package.ClearFiles();
     if (pnpInfo.Files != null)
     {
         foreach (PnPFileInfo file in pnpInfo.Files)
         {
             package.AddFile(file.InternalName, file.Folder, file.Content);
         }
     }
 }
コード例 #3
0
 private static void SavePnPPackage(PnPInfo pnpInfo, PnPPackage package)
 {
     package.Manifest = pnpInfo.Manifest;
     package.Properties = pnpInfo.Properties;
     Debug.Assert(pnpInfo.Files.TrueForAll(f => !string.IsNullOrWhiteSpace(f.InternalName)), "All files need an InternalFileName");
     package.FilesMap = new PnPFilesMap(pnpInfo.Files.ToDictionary(f => f.InternalName, f => Path.Combine(f.Folder, f.OriginalName).Replace('\\', '/').TrimStart('/')));
     package.ClearFiles();
     if (pnpInfo.Files != null)
     {
         foreach (PnPFileInfo file in pnpInfo.Files)
         {
             package.AddFile(file.InternalName, file.Content);
         }
     }
 }