Esempio n. 1
0
        private void bw_load_from_multi_dirs(object sender, DoWorkEventArgs e) // Funkce pozdeji delegovaná na thread
        {                                                                      // Slouží k nahrání souborů z několika podsložek
            int i = 0;

            foreach (string folder in filelders)
            {
                if (cbb_last_folder == true)
                {
                    int tmp = 0;
                    try
                    {
                        tmp = int.Parse(folder.Split('\\').Last <string>().Split('-')[0]);
                    }
                    catch (System.FormatException)
                    {
                        break;
                    }

                    if (tmp <= last_month)
                    {
                        i++;
                        continue;
                    }
                    ;
                }

                string[]      files   = Directory.GetFiles(folder);
                List <string> m_files = new List <string>(files);

                if (xml_manage.load_files(m_files) == error.FAIL)               // Samotná funkce pro načtení
                {
                    System.Windows.MessageBox.Show("Něco se pokazilo při načítaání dat",
                                                   "Načtení se nepovedlo", MessageBoxButton.OK,
                                                   MessageBoxImage.Warning);
                }

                i++;
                int progress = (int)((float)i / (float)filelders.Count <string>() * 100);
                last_folder = folder.Split('\\').Last <string>();
                last_month  = int.Parse(last_folder.Split('-')[0]);
                back_thread.ReportProgress(progress);                          // report progressu pro progress bar
            }
        }
Esempio n. 2
0
        private error start_headless()
        {
            Xml_Manipulator xml_manage = new Xml_Manipulator();

            string[] folders;

            try
            {
                folders = Directory.GetDirectories(in_folder);
            }
            catch (Exception)
            {
                Console.WriteLine("Nepovedlo se načíst soubory\n"
                                  + "Špatně nastavený parametr IN_FOLDER v konfiguračním souboru");
                return(error.FAIL);
            }

            int count = folders.Length;
            int i     = 1;
            int start;

            if (data_limit >= count || data_limit <= 0)
            {
                start = 0;
            }
            else
            {
                start = count - data_limit;
            }


            Console.WriteLine("Začátek nahrávání dat.");
            foreach (var folder in folders)
            {
                if (i - 1 >= start)
                {
                    List <string> files = new List <string>(Directory.GetFiles(folder));
                    Console.WriteLine("Zpracovávání složky {0} / {1}:", i, count);
                    if (xml_manage.load_files(files) == error.FAIL)
                    {
                        Console.WriteLine("Načtení xml souborů se nepovedlo!");
                    }
                    else
                    {
                        Console.WriteLine("Ok.\n");
                    }
                }

                i++;
            }

            Console.WriteLine("Nahrávání dat dokončeno.");
            Console.WriteLine("Ukládání dat do {0}.", out_csv);
            if (!out_csv.Contains(".csv") && out_csv.Length < 5)
            {
                Console.WriteLine("Soubor {0} není validním výstupním souborem, soubor musí mít koncovku .csv", out_csv);
                return(error.FAIL);
            }
            error err = xml_manage.save_to_csv_var1(out_csv);

            switch (err)
            {
            case error.SUCCESS:
                Console.WriteLine("Data úspěšně zapsána do {0}.", out_csv);
                break;

            case error.FILE_OPEN:
                Console.WriteLine("Data se nepovedlo zapsat, soubor je nejspíše otevřen v jiném programu!");
                break;

            case error.NO_DATA:
                Console.WriteLine("Chybí data pro zapsání do csv!");
                break;

            default:
                Console.WriteLine("Neočekávaná chyba!");
                break;
            }

            Console.WriteLine("\nHotovo!\n");
            return(error.SUCCESS);
        }