Ejemplo n.º 1
0
        private async Task ExecuteGenerateSourcesCommand()
        {
            IsBusy      = true;
            tokenSource = new CancellationTokenSource();
            token       = tokenSource.Token;

            var sources = new SourceGenerator(Categories);

            ConsoleWrite("Выгрузка листа блоков данных...");

            var resultFile = Path.Combine(RootDirectory, "sources.xlsx");
            await Task.Run(() =>
            {
                ExcelDataWriter.WriteExcelFromArray(resultFile, sources.PrintDBlistToArray(), "DB_list", token);
            }, token).ConfigureAwait(false);

            Progress = 40;
            ConsoleWrite("Старт генерации source-файлов...");
            await sources.SetPeripheryFields(token);

            await sources.PrintAllSourcesToFiles(RootDirectory, token);

            Progress = 90;
            ConsoleWrite("Генерация source-файлов завершена");

            Categories.ReplaceRange(sources.Categories);

            Progress = 0;
            IsBusy   = false;
            ConsoleWrite("Выполнено! Генерация завершена, основная структура сигналов обновлена");
        }