Beispiel #1
0
        public async Task Converter(List <string> arq, IProgress <string> progresso, CancellationToken ct)
        {
            var task = arq.Select(arquivo =>
                                  Task.Factory.StartNew(() =>
            {
                ct.ThrowIfCancellationRequested();

                ConvertTo.ConverterXLSX(DiretorioTemp + arquivo);
                File.Delete(DiretorioTemp + arquivo);

                if (!File.Exists(DiretorioDataExtraida + "\\" + arquivo + "x"))
                {
                    File.Move(DiretorioTemp + arquivo + "x", DiretorioDataExtraida + "\\" + arquivo + "x");
                    progresso.Report(arquivo);
                }

                ct.ThrowIfCancellationRequested();
            })

                                  );

            await Task.WhenAll(task);
        }