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); }
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ファイルへの保存を完了しました。"); } }