Beispiel #1
0
        public Result Merge(InputDataProvider inputData, MergerApplicationOptions options)
        {
            if (inputData.GetData().Count(x => x.IsValid()) < 2)
            {
                return(Result.Error(ErrorCodes.NotEnoughFilesToPerformOperation));
            }

            return(Execute(ApplicationRegistry.Instance.Get(ApplicationId.Merger), inputData, options));
        }
Beispiel #2
0
        Result Execute(Application application, InputDataProvider inputData, ApplicationOptions options)
        {
            var result = application.Execute(inputData, options);

            if (result.IsValid &&
                (result.DataFiles.Count > 1 && SVGOperationContextScope.Context.PackIfResultHasMultipleFiles))
            {
                var fileName       = Guid.NewGuid();
                var zipTmpFilePath = Path.Combine(SVGOperationContextScope.Context.OutputFolder, $"./../{fileName}.zip");
                var zipFilePath    = Path.Combine(SVGOperationContextScope.Context.OutputFolder, $"{ConversionApplication.DEFAULT_NAME_FOR_COVERTED_SET_OF_FILES}.zip");

                // TODO: Use the result.DataFiles property instead of packing the whole output directory
                ZipFile.CreateFromDirectory(SVGOperationContextScope.Context.OutputFolder, zipTmpFilePath);
                File.Move(zipTmpFilePath, zipFilePath);
                return(Result.FromFiles(zipFilePath));
            }
            return(result);
        }
Beispiel #3
0
 public Result Convert(InputDataProvider inputData, ConversionApplicationOptions options)
 {
     return(Execute(ApplicationRegistry.Instance.Get(ApplicationId.Conversion), inputData, options));
 }