Exemple #1
0
        private void doTask()
        {
            var baseUrl = this.appData.url;

            DirectoryInfo di = (new FileInfo(appData.sqlitePath)).Directory;

            if (di.Exists == false)
            {
                di.Create();
            }
            SheetWorker worker = new SheetWorker(appData.jsonFile);
            var         db     = new SheetSqliteHelper(appData.sqlitePath, baseUrl);

            //履歴一覧の取得
            appData.log("一覧の取得");
            var histList = worker.getHistoryInfo(baseUrl);

            db.insertOrUpdateHistory(histList);

            //履歴一覧の更新
            var list = db.getUrlJobList();

            appData.log("未受信履歴ファイル: " + list.Count + "件");
            foreach (var url in list)
            {
                appData.log("履歴取得:" + url);

                //取得処理
                var data = worker.getRawInfo(url);

                //取得結果の保存
                appData.log("キャッシュ更新中: " + data.Count + "件");
                db.insertOrUpdateRaw(data);

                //DBへ取得済みフラグ更新
                db.urlJobDone(url);
            }

            //最新情報の更新
            appData.log("最新情報の取得");
            var curData = worker.getRawInfo(baseUrl);

            appData.log("情報数:" + curData.Count + "件");
            db.insertOrUpdateRaw(curData);
            db.vacuum();
            appData.log("完了しました。");
            Dispatcher.BeginInvoke(new Action(() =>
            {
                this.textBoxStatus.IsReadOnly = false;
                saveToCsv(baseUrl);
            }), null);
        }
Exemple #2
0
        private void saveToCsv(string baseUrl)
        {
            SaveFileDialog dlg = new SaveFileDialog();

            dlg.Filter = "CSVファイル(*.cvs)|*.csv";
            if (Properties.Settings.Default.csvPath.Length > 0)
            {
                FileInfo fi = new FileInfo(Properties.Settings.Default.csvPath);
                dlg.InitialDirectory = fi.Directory.FullName;
                dlg.FileName         = fi.Name;
            }
            if (dlg.ShowDialog() == true)
            {
                Properties.Settings.Default.csvPath = dlg.FileName;
                Properties.Settings.Default.Save();

                appData.log("CSVファイルへ保存中・・・");
                var db = new SheetSqliteHelper(appData.sqlitePath, baseUrl);
                db.saveToCsv(dlg.FileName);
                appData.log("CSVファイルへの保存を完了しました。");
            }
        }