Пример #1
0
        public JobInfo Duplicate(JobInfo jobInfo, string profileGuid = null)
        {
            var jobInfoDuplicate = new JobInfo();

            jobInfoDuplicate.Metadata      = jobInfo.Metadata.Copy();
            jobInfoDuplicate.JobType       = jobInfo.JobType;
            jobInfoDuplicate.PrintDateTime = jobInfo.PrintDateTime;
            jobInfoDuplicate.PrinterName   = jobInfo.PrinterName;

            jobInfoDuplicate.PrinterParameter    = profileGuid == null ? jobInfo.PrinterParameter : "";
            jobInfoDuplicate.ProfileParameter    = profileGuid ?? jobInfo.ProfileParameter;
            jobInfoDuplicate.OutputFileParameter = jobInfo.OutputFileParameter;

            jobInfoDuplicate.OriginalFilePath = jobInfo.OriginalFilePath;
            jobInfoDuplicate.InfFile          = "DuplicateInfFileDummy_" + Guid.NewGuid();

            var sfiFilename        = PathSafe.GetFileName(jobInfo.SourceFiles[0].Filename);
            var duplicateJobFolder = _jobFolderBuilder.CreateJobFolderInSpool(sfiFilename);

            foreach (var sfi in jobInfo.SourceFiles)
            {
                var sfiDuplicate = _sourceFileInfoDuplicator.Duplicate(sfi, duplicateJobFolder, profileGuid);
                jobInfoDuplicate.SourceFiles.Add(sfiDuplicate);
            }

            return(jobInfoDuplicate);
        }
Пример #2
0
        /// <summary>
        ///     Create unique job folder in spool folder and copy ps file to it.
        ///     Create inf file from ps file.
        /// </summary>
        /// <returns>inf file in spool folder</returns>
        public string TransformToInfFileWithMerge(IList <string> directConversionFiles, AppStartParameters appStartParameters)
        {
            if (directConversionFiles.Count <= 0)
            {
                return("");
            }

            foreach (var file in directConversionFiles)
            {
                if (string.IsNullOrWhiteSpace(file))
                {
                    return("");
                }

                if (!_file.Exists(file))
                {
                    Logger.Error("The file \"" + file + "\" does not exist.");
                    return("");
                }
            }

            string jobFolder;

            try
            {
                jobFolder = _jobFolderBuilder.CreateJobFolderInSpool(directConversionFiles[0]);
            }
            catch (Exception ex)
            {
                Logger.Error(ex, "Error while creating spool directory for ps-job: ");
                return("");
            }

            try
            {
                var jobFolderFile = CopyFilesToJobFolder(jobFolder, directConversionFiles);
                return(CreateInfFile(jobFolderFile, jobFolder, appStartParameters));
            }
            catch (Exception ex)
            {
                Logger.Error(ex, "Error while coping ps-file in spool folder: ");
                _directory.Delete(jobFolder, true); //Delete created folder and files
                return("");
            }
        }