示例#1
0
        static void BeginNewJob()
        {
            int result = GetInputFiles(out var fileList, out var args);

            if (result < 0)
            {
                return;                         //Do nothing, terminate the application
            }
            currentJob = new Job()
            {
                importArgs = args,
                batchMode  = result > 0
            };
            currentJob.AddInputFiles(fileList.ToArray());

            //Add console feedback
            currentJob.FileImported += (int i, string s) =>
            {
            };
            currentJob.FileImportFailed += (int i, string s, Exception e) =>
            {
                WriteError("IMPORT FAILED: " + s);
                WriteError(e.ToString());
            };
            currentJob.FileExported += (int i, string s) =>
            {
                if (!currentJob.batchMode)
                {
                    WriteSuccess("EXPORT SUCCESSFUL");
                }
                else
                {
                    WriteSuccess($"EXPORT {i + 1}/{currentJob.InputFileList.Count} SUCCESSFUL");
                }
            };
            currentJob.FileExportFailed += (int i, string s, Exception e) =>
            {
                if (!currentJob.batchMode)
                {
                    WriteError("EXPORT FAILED: " + s);
                }
                else
                {
                    WriteError($"EXPORT {i}/{currentJob.InputFileList.Count} FAILED:");
                }
                WriteError(e.ToString());
            };
            currentJob.ExportCompleted += () =>
            {
                if (currentJob.batchMode)
                {
                    WriteSuccess("DONE!");
                }
            };
        }