示例#1
0
        private void backgroundWorkerErrorSearching_DoWork(object sender, DoWorkEventArgs e)
        {
            List<string> zipfilesPaths;
            List<string> txtfilesPaths;
            DateFileFinder finder = new DateFileFinder(fileNameDate, incomingFilesPath);
            Dekompresor dekomp;
            CsvParser parser;
            BackgroundWorker bw = sender as BackgroundWorker;
            int progress;

            progress = 0;
            bw.ReportProgress(progress, "Szukam plików..." + Environment.NewLine);

            zipfilesPaths = finder.FilesPaths;
            if (zipfilesPaths.Count() == 0)
            {
                progress = 99;
                bw.ReportProgress(progress, "Nie znaleziono plików." + Environment.NewLine);
                MessageBox.Show(
                        "W folderze " + incomingFilesPath + " nie znaleziono pliku rozliczeniowego z potencjalną datą wpłynięcia błędu.", "Nie znaleziono",
                        MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }

            for (int i = 0; i < zipfilesPaths.Count(); i++)
            {
                progress = 10 + (int)(40 / zipfilesPaths.Count()) * i+1; 
                bw.ReportProgress(progress, "Wypakowuję plik (" + (i+1).ToString() + " z " + zipfilesPaths.Count().ToString() + ")..." + Environment.NewLine);

                dekomp = new Dekompresor(zipfilesPaths.ElementAt(i), tempDir);
                dekomp.uncompress();
                //todo: Zwracanie progresu
            }

            txtfilesPaths = finder.findFiles(tempDir);

            parser = new CsvParser(delimiter, Properties.Settings.Default.ErrorLineCode);
            for (int i = 0; i < txtfilesPaths.Count; i++)
            {
                progress = 50 + (int)(45 / txtfilesPaths.Count()) * i + 1;
                bw.ReportProgress(
                    progress, "Przetwarzam plik (" + (i + 1).ToString() + " z " + txtfilesPaths.Count.ToString() + ")..." + Environment.NewLine);
                parser.addFile(txtfilesPaths.ElementAt(i));
            }
            progress = 95;
            bw.ReportProgress(progress, "Szukam ARN..." + Environment.NewLine);
            progress = 100;
            bw.ReportProgress(progress, getChbErrorParameters(parser, ARN));

        }
示例#2
0
        private void backgroundWorkerErrorSearching_DoWork(object sender, DoWorkEventArgs e)
        {
            List <string>    zipfilesPaths;
            List <string>    txtfilesPaths;
            DateFileFinder   finder = new DateFileFinder(fileNameDate, incomingFilesPath);
            Dekompresor      dekomp;
            CsvParser        parser;
            BackgroundWorker bw = sender as BackgroundWorker;
            int progress;

            progress = 0;
            bw.ReportProgress(progress, "Szukam plików..." + Environment.NewLine);

            zipfilesPaths = finder.FilesPaths;
            if (zipfilesPaths.Count() == 0)
            {
                progress = 99;
                bw.ReportProgress(progress, "Nie znaleziono plików." + Environment.NewLine);
                MessageBox.Show(
                    "W folderze " + incomingFilesPath + " nie znaleziono pliku rozliczeniowego z potencjalną datą wpłynięcia błędu.", "Nie znaleziono",
                    MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }

            for (int i = 0; i < zipfilesPaths.Count(); i++)
            {
                progress = 10 + (int)(40 / zipfilesPaths.Count()) * i + 1;
                bw.ReportProgress(progress, "Wypakowuję plik (" + (i + 1).ToString() + " z " + zipfilesPaths.Count().ToString() + ")..." + Environment.NewLine);

                dekomp = new Dekompresor(zipfilesPaths.ElementAt(i), tempDir);
                dekomp.uncompress();
                //todo: Zwracanie progresu
            }

            txtfilesPaths = finder.findFiles(tempDir);

            parser = new CsvParser(delimiter, Properties.Settings.Default.ErrorLineCode);
            for (int i = 0; i < txtfilesPaths.Count; i++)
            {
                progress = 50 + (int)(45 / txtfilesPaths.Count()) * i + 1;
                bw.ReportProgress(
                    progress, "Przetwarzam plik (" + (i + 1).ToString() + " z " + txtfilesPaths.Count.ToString() + ")..." + Environment.NewLine);
                parser.addFile(txtfilesPaths.ElementAt(i));
            }
            progress = 95;
            bw.ReportProgress(progress, "Szukam ARN..." + Environment.NewLine);
            progress = 100;
            bw.ReportProgress(progress, getChbErrorParameters(parser, ARN));
        }