//public IEnumerable<string> GetRirekiFiles() //{ // // 履歴ファイルリスト // return Directory.EnumerateFiles(rirekiFolderPath, "rireki*.csv"); //} public async Task <int> GetKakeiboData(ModelKakeibo model) { using (SQLManager manager = SQLManager.GetInstance(dataSource, dataBase, userId, password)) { return(await GetKakeiboData(manager, model)); } }
private async Task <int> GetKakeiboData(SQLManager manager, ModelKakeibo model) { return(await Task.Run(() => { string sql = @" SELECT seq , hiduke , naiyou , nyukin , shukkin , zankin , bikou FROM kakeibo_rireki WHERE hiduke BETWEEN @from AND @to "; Dictionary <string, dynamic> parameters = new Dictionary <string, dynamic> { { "from", ControlValuesDictionary["dtpFrom"].ToString("yyyy/MM/dd") }, { "to", ControlValuesDictionary["dtpTo"].ToString("yyyy/MM/dd") }, }; DataTable dtRireki = manager.Select(sql, parameters); model.Zankin = GetZankin(manager); model.RirekiTable = dtRireki; SetShukeiData(model, dtRireki); return dtRireki.Rows.Count; })); }
public int GetRireki(ModelKakeibo model) { try { // csvファイル読込 // ToListで読み込み処理を確定させる CsvFileService csv = CsvFileService.GetInstance(); List <string[]> list = csv.CsvFileRead(model.RirekiFile, encoding)?.ToList(); if (list.First() == null) { return(-1); } (DataTable dtRireki, int shunyu, int shishutsu) = ConvertToRirekiDataTable(list); model.SumShunyu = shunyu; model.SumShishutsu = shishutsu; // 残金は履歴ファイルの最終行を設定 int.TryParse(list.Last()[EnumRireki.Zankin.GetInt()], out int zankin); model.Zankin = zankin; // データテーブルを設定 model.RirekiTable = dtRireki; model.ShukeiTable = GetShukeiTable(dtRireki); } catch (Exception ex) { // csvファイルのデータが0件・1件の場合 ArgumentNullException Debug.WriteLine(ex.Message); } return(0); }
private void SetShukeiData(ModelKakeibo model, DataTable dtRireki) { model.ShukeiTable = GetShukeiTable(dtRireki); int.TryParse(dtRireki.Compute("Sum(nyukin)", null).ToString(), out int sumShunyu); int.TryParse(dtRireki.Compute("Sum(shukkin)", null).ToString(), out int sumShishutsu); model.SumShunyu = sumShunyu; model.SumShishutsu = sumShishutsu; }