public string Execute([NotNull] string databaseName, [NotNull] string itemList) { Assert.ArgumentNotNull(databaseName, nameof(databaseName)); Assert.ArgumentNotNull(itemList, nameof(itemList)); var database = Factory.GetDatabase(databaseName); if (database == null) { throw new Exception("Database not found"); } var fileName = TempFolder.GetFilename("package.zip"); var items = GetItems(database, itemList); var package = new ZipPackageBuilder(fileName); foreach (var item in items) { package.Items.Add(item); } var result = package.Build(); return(WebUtil.GetServerUrl() + result); }
public string Execute([NotNull] string fileName) { var sourceFileName = LocalFile.MapPath(fileName); var targetFileName = GetTargetFileName(sourceFileName); var packageAnalyzer = new PackageAnalyzer(new SimpleProcessingContext()); var reader = new PackageReader(sourceFileName); reader.Populate(packageAnalyzer); var newItems = new List <PackageAnalyzer.PackageItem>(); var newFiles = new List <PackageAnalyzer.PackageFile>(); var package = new ZipPackageBuilder(targetFileName) { PackageName = "Anti Package for " + Path.GetFileNameWithoutExtension(sourceFileName), Readme = string.Format("Anti Package for {0}. Created {1} by {2}.", Path.GetFileNameWithoutExtension(sourceFileName), DateTime.Now.ToString(), Context.GetUserName()) }; AddItems(packageAnalyzer, package, newItems); AddFiles(packageAnalyzer, package, newFiles); AddPostStep(package, newItems, newFiles); package.Build(); return(WebUtil.GetServerUrl() + LocalFile.UnmapPath(targetFileName)); }
private int Execute([NotNull] Query query, [NotNull] QueryContext contextNode) { Debug.ArgumentNotNull(query, nameof(query)); Debug.ArgumentNotNull(contextNode, nameof(contextNode)); object o = contextNode; var from = From; if (from != null) { o = query.Evaluate(from, contextNode); if (o == null) { return(0); } } var package = new ZipPackageBuilder(FileName); var items = query.GetItems(o); foreach (var item in items) { package.Items.Add(item); } package.Build(); return(items.Count()); }