Beispiel #1
0
 /// <summary>
 /// Rotates the pages and saves the result as a new document to the given StorageFile
 /// </summary>
 private async void RotateAndSaveAsync(List <PageOrientation> orientations, StorageFile outputFile)
 {
     if (outputFile != null)
     {
         Task <Stream> outputStreamTask = outputFile.OpenStreamForWriteAsync();
         Stream        outputStream     = await outputStreamTask;
         if (outputStream != null)
         {
             PdfAssembler pdfAssembler = new PdfAssembler(outputStream);
             for (int i = 0; i < loadedFile.PageCount; i++)
             {
                 int        pageNumber = i + 1;
                 ExportTask task       = new ExportTask(PageRange.FromPattern(loadedFile.Document, pageNumber.ToString()), new PageRotation(orientations[i]));
                 pdfAssembler.AppendTask(task);
             }
             pdfAssembler.ExportFile();
         }
         else
         {
             ToolPage.Current.NotifyUser("Error occured while while exporting the merged file. Try again.", NotifyType.ErrorMessage);
         }
     }
     else
     {
         ToolPage.Current.NotifyUser("No output file has been selected.", NotifyType.ErrorMessage);
     }
 }
        /// <summary>
        /// Encrypts ands saves a file.
        /// @Requires: PasswordInput.Password != null && !String.Empty().Equals(PasswordInput.Password)
        /// </summary>
        private async void EncryptAndSaveAsync(InternalFile source, StorageFile outputFile)
        {
            if (outputFile != null)
            {
                Task <Stream> outputStreamTask = outputFile.OpenStreamForWriteAsync();
                Stream        outputStream     = await outputStreamTask;
                if (outputStream != null)
                {
                    string password = PasswordInput.Password;

                    PdfAssembler pdfAssembler = new PdfAssembler(outputStream);
                    PageRange    pageRange    = PageRange.EntireDocument(source.Document);
                    ExportTask   task         = new ExportTask(pageRange);
                    pdfAssembler.AppendTask(task);
                    pdfAssembler.ExportFileEncrypted(password);
                    loadedFilesList.Remove(source);
                    ToolPage.Current.NotifyUser(String.Empty, NotifyType.StatusMessage);
                }
                else
                {
                    ToolPage.Current.NotifyUser("Error occured while while exporting the merged file. Try again.", NotifyType.ErrorMessage);
                }
            }
            else
            {
                ToolPage.Current.NotifyUser("No output file has been selected.", NotifyType.ErrorMessage);
            }
        }
Beispiel #3
0
        public ResultModel Generate(YmlExportSettings settings)
        {
            _exportShopService.UpdateYmlExportSettings(settings);
            ExportTask task = _exportShopService.StartYmlExportTask(settings);

            return(new ResultModel(true, task));
        }
    private void Update()
    {
        if (m_ToExport.Count > 0)
        {
            ExportTask task = m_ToExport.Peek();
            if (!task.copied)
            {//no yet copied over to a temp folder for export
                //First move all into a temp folder for export
                task.oldPathSaved = new string[task.package.dependencies.Length];
                task.newPathSaved = new string[task.package.dependencies.Length];
                task.exportTemp   = Application.dataPath + "/" + task.package.packageName + "_Export";
                task.movePath     = task.exportTemp.Replace(Application.dataPath, "Assets");
                System.IO.Directory.CreateDirectory(task.exportTemp);

                for (int i = 0; i < task.package.dependenciesID.Length; ++i)
                {
                    string destPath      = task.package.outputPath[i].Replace("Assets", task.movePath);
                    string directorypath = destPath.Replace("Assets", Application.dataPath);
                    System.IO.Directory.CreateDirectory(System.IO.Path.GetDirectoryName(directorypath));
                }

                AssetDatabase.Refresh();

                for (int i = 0; i < task.package.dependenciesID.Length; ++i)
                {
                    string path = AssetDatabase.GUIDToAssetPath(task.package.dependenciesID[i]);
                    task.oldPathSaved[i] = path;
                    string destPath = task.package.outputPath[i].Replace("Assets", task.movePath);
                    task.newPathSaved[i] = destPath;

                    AssetDatabase.MoveAsset(path, destPath);
                }

                AssetDatabase.Refresh();

                task.copied = true;
            }
            else
            {//was copied now need to export then clean & remove from the queue
                Debug.Log("Exporting and cleaning");
                AssetDatabase.ExportPackage(task.movePath, task.destination, ExportPackageOptions.Recurse);

                for (int i = 0; i < task.oldPathSaved.Length; ++i)
                {
                    AssetDatabase.MoveAsset(task.newPathSaved[i], task.oldPathSaved[i]);
                }

                FileUtil.DeleteFileOrDirectory(task.exportTemp);

                AssetDatabase.Refresh(ImportAssetOptions.ForceSynchronousImport);

                m_ToExport.Dequeue();
            }
        }
        else if (m_CloseOnFinishExport)
        {
            EditorApplication.Exit(0);
        }
    }
Beispiel #5
0
        public ExportTask StartYmlExportTask(YmlExportSettings settings)
        {
            var task = new ExportTask()
            {
                StartDate = DateTime.UtcNow.ApplySiteTimezone(), Status = ExportStatus.Processing
            };
            var dataTask = Mapper.Map <Data.Models.ShopDbExportTask>(task);
            int id       = _exportTaskGateway.Insert(dataTask);

            task.TaskId = dataTask.TaskId = id;
            string filePath = HttpContext.Current.Server.MapPath("~/App_Data/shop.yml");
            Task   t        = new Task(() => GenerateYmlFile(filePath, id));

            t.Start();
            return(task);
        }
        private async void MergeButton_Click(object sender, RoutedEventArgs e)
        {
            if (loadedFilesList.Count > 0)
            {
                var savePicker = new FileSavePicker();
                savePicker.FileTypeChoices.Add("PDF-Document", new List <String>()
                {
                    ".pdf"
                });
                savePicker.SuggestedFileName = "MergedPdfDocuments";
                if (!StorageApplicationPermissions.FutureAccessList.ContainsItem(App.RECENT_FILE_DIRECTORY_TOKEN))
                {
                    savePicker.SuggestedStartLocation = PickerLocationId.DocumentsLibrary;
                }
                StorageFile savedFile = await savePicker.PickSaveFileAsync();

                if (savedFile != null)
                {
                    Task <Stream> outputStreamTask = savedFile.OpenStreamForWriteAsync();
                    Stream        outputStream     = await outputStreamTask;
                    if (outputStream != null)
                    {
                        PdfAssembler pdfAssembler = new PdfAssembler(outputStream);
                        foreach (var obj in loadedFilesList)
                        {
                            var        file      = (InternalFile)obj;
                            PageRange  pageRange = PageRange.EntireDocument(file.Document);
                            ExportTask task      = new ExportTask(pageRange);
                            pdfAssembler.AppendTask(task);
                        }
                        pdfAssembler.ExportFile();
                    }
                    else
                    {
                        ToolPage.Current.NotifyUser("Error occured while while exporting the merged file. Try again.", NotifyType.ErrorMessage);
                    }
                }
                else
                {
                    ToolPage.Current.NotifyUser("No output file has been selected.", NotifyType.ErrorMessage);
                }
            }
            else
            {
                ToolPage.Current.NotifyUser("No files loaded.", NotifyType.ErrorMessage);
            }
        }
Beispiel #7
0
        public override void Execute(IMenuItemContext context)
        {
            var modules = GetModules();

            if (modules.Length == 0)
            {
                return;
            }

            var decompiler = decompilerService.Decompiler;

            if (decompiler.ProjectFileExtension == null)
            {
                decompiler = decompilerService.AllDecompilers.FirstOrDefault(a => a.ProjectFileExtension != null);
                Debug.Assert(decompiler != null);
                if (decompiler == null)
                {
                    return;
                }
            }

            var task = new ExportTask(this, modules);
            var vm   = new ExportToProjectVM(new PickDirectory(), decompilerService, task, bamlDecompiler != null);

            task.vm                 = vm;
            vm.ProjectVersion       = exportToProjectSettings.ProjectVersion;
            vm.CreateResX           = documentTreeViewSettings.DeserializeResources;
            vm.DontReferenceStdLib  = modules.Any(a => a.Assembly.IsCorLib());
            vm.Decompiler           = decompiler;
            vm.SolutionFilename     = GetSolutionFilename(modules);
            vm.FilesToExportMessage = CreateFilesToExportMessage(modules);

            var win = new ExportToProjectDlg();

            task.dlg        = win;
            win.DataContext = vm;
            win.Owner       = appWindow.MainWindow;
            using (documentTreeView.DocumentService.DisableAssemblyLoad())
                win.ShowDialog();
            if (vm.IsComplete)
            {
                exportToProjectSettings.ProjectVersion = vm.ProjectVersion;
            }
            task.Dispose();
        }
Beispiel #8
0
        private void Export()
        {
            if (!this._manager.IsReady)
            {
                MessageBox.Show("Please wait for Store to be ready before attempting to Import Data", "Store Not Ready", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }

            if (this.txtExportFile.Text.Equals(String.Empty))
            {
                MessageBox.Show("Please enter a File to export to!", "No Export Destination", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            ExportTask task = new ExportTask(this._manager, this.txtExportFile.Text);

            this.AddTask <TaskResult>(task, this.ExportCallback);
        }
    void ExportCurrentPackage(string saveTo = "")
    {
        if (saveTo == "")
        {
            saveTo = EditorUtility.SaveFilePanel("Export package", Application.dataPath.Replace("/Assets", ""), m_CurrentlyEdited.packageName, "unitypackage");
        }

        //Still didnt' give a valid path or canceled, exit
        if (saveTo == "")
        {
            return;
        }

        ExportTask task = new ExportTask
        {
            destination = saveTo,
            package     = m_CurrentlyEdited
        };

        m_ToExport.Enqueue(task);
    }
Beispiel #10
0
        public override void Execute(IMenuItemContext context)
        {
            var modules = GetModules();

            if (modules.Length == 0)
            {
                return;
            }

            var lang = languageManager.SelectedLanguage;

            if (lang.ProjectFileExtension == null)
            {
                lang = languageManager.Languages.FirstOrDefault(a => a.ProjectFileExtension != null);
                Debug.Assert(lang != null);
                if (lang == null)
                {
                    return;
                }
            }

            var task = new ExportTask(this, modules);
            var vm   = new ExportToProjectVM(new PickDirectory(), languageManager, task, bamlDecompiler != null);

            task.vm                 = vm;
            vm.CreateResX           = fileTreeViewSettings.DeserializeResources;
            vm.DontReferenceStdLib  = modules.Any(a => a.Assembly.IsCorLib());
            vm.Language             = lang;
            vm.SolutionFilename     = GetSolutionFilename(modules);
            vm.FilesToExportMessage = CreateFilesToExportMessage(modules);

            var win = new ExportToProjectDlg();

            task.dlg        = win;
            win.DataContext = vm;
            win.Owner       = appWindow.MainWindow;
            using (fileTreeView.FileManager.DisableAssemblyLoad())
                win.ShowDialog();
        }
 /// <summary>
 /// Saves the pages from the PageRange instance as a new document to the given StorageFile
 /// </summary>
 private async void ExtractAndSaveAsync(PageRange outputPageRange, StorageFile outputFile)
 {
     if (outputFile != null)
     {
         Task <Stream> outputStreamTask = outputFile.OpenStreamForWriteAsync();
         Stream        outputStream     = await outputStreamTask;
         if (outputStream != null)
         {
             PdfAssembler pdfAssembler = new PdfAssembler(outputStream);
             ExportTask   task         = new ExportTask(outputPageRange);
             pdfAssembler.AppendTask(task);
             pdfAssembler.ExportFile();
         }
         else
         {
             ToolPage.Current.NotifyUser("Error occured while while exporting the merged file. Try again.", NotifyType.ErrorMessage);
         }
     }
     else
     {
         ToolPage.Current.NotifyUser("No output file has been selected.", NotifyType.ErrorMessage);
     }
 }
Beispiel #12
0
        public override void Execute(IMenuItemContext context)
        {
            var modules = GetModules();
            if (modules.Length == 0)
                return;

            var lang = languageManager.Language;
            if (lang.ProjectFileExtension == null) {
                lang = languageManager.AllLanguages.FirstOrDefault(a => a.ProjectFileExtension != null);
                Debug.Assert(lang != null);
                if (lang == null)
                    return;
            }

            var task = new ExportTask(this, modules);
            var vm = new ExportToProjectVM(new PickDirectory(), languageManager, task, bamlDecompiler != null);
            task.vm = vm;
            vm.ProjectVersion = exportToProjectSettings.ProjectVersion;
            vm.CreateResX = fileTreeViewSettings.DeserializeResources;
            vm.DontReferenceStdLib = modules.Any(a => a.Assembly.IsCorLib());
            vm.Language = lang;
            vm.SolutionFilename = GetSolutionFilename(modules);
            vm.FilesToExportMessage = CreateFilesToExportMessage(modules);

            var win = new ExportToProjectDlg();
            task.dlg = win;
            win.DataContext = vm;
            win.Owner = appWindow.MainWindow;
            using (fileTreeView.FileManager.DisableAssemblyLoad())
                win.ShowDialog();
            if (vm.IsComplete)
                exportToProjectSettings.ProjectVersion = vm.ProjectVersion;
        }
 public DeleteDatabase()
 {
     ExportTask = new ExportTask();
     InitializeComponent();
 }
 public static ExportTaskUpdateRequestBuilder Update(long id, ExportTask task)
 {
     return(new ExportTaskUpdateRequestBuilder(id, task));
 }
 public static ExportTaskAddRequestBuilder Add(ExportTask task)
 {
     return(new ExportTaskAddRequestBuilder(task));
 }