private void SetScreenValues(FormKakeiboService.ModelKakeibo model) { Logger.WriteLine($"{MethodBase.GetCurrentMethod().Name}"); // 残金・収入・支出を更新 customReadOnlyTextBoxZankin.Text = model.Zankin.ToString(); customReadOnlyTextBoxShunyu.Text = model.SumShunyu.ToString(); customReadOnlyTextBoxShishutsu.Text = model.SumShishutsu.ToString(); (gridRireki.DataSource as BindingSource).DataSource = model.RirekiTable; (gridShukei.DataSource as BindingSource).DataSource = model.ShukeiTable; }
private int Search(FormKakeiboService sv) { Logger.WriteLine(MethodBase.GetCurrentMethod().Name); gridRireki.DataSource = new BindingSource(); gridShukei.DataSource = new BindingSource(); // 新規Model生成 FormKakeiboService.ModelKakeibo model = new FormKakeiboService.ModelKakeibo { // 履歴ファイルパス取得 RirekiFile = sv.GetRirekiFilePath(), // 過去履歴取得 RirekiFiles = sv.GetRirekiFiles() }; // 履歴ファイルを読み込む int ret = sv.GetRireki(model); if (ret == 0) { // 正常 Model = model; } else if (ret == -1) { // 履歴ファイルが無い場合 if (DialogResult.OK == MessageBox.Show("月が変わりました。履歴ファイルを更新しますか?", "確認", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2)) { // 新しいファイルに変更する sv.CreateNewRirekiFile(model.RirekiFile); // 再読込 ret = sv.GetRireki(model); if (ret == 0) { // 正常 Model = model; } else { // 履歴ファイル取得エラー Logger.WriteLog(MethodBase.GetCurrentMethod().Name, $"履歴取得に失敗しました。", ret); return(-2); } } else { // 過去の最新のファイルを使う model.RirekiFile = model.RirekiFiles.OrderByDescending(x => x).First(); // 再読込 ret = sv.GetRireki(model); if (ret == 0) { // 正常 Model = model; } else { // 履歴ファイル取得エラー Logger.WriteLog(MethodBase.GetCurrentMethod().Name, $"履歴取得に失敗しました。", ret); return(-3); } } } else { // 履歴ファイル取得エラー Logger.WriteLog(MethodBase.GetCurrentMethod().Name, $"履歴取得に失敗しました。", ret); return(-1); } // コンボボックスの生成 SortedDictionary <string, string> comboSource = new SortedDictionary <string, string>(); foreach (string rirekiFile in Model.RirekiFiles) { string filename = Path.GetFileNameWithoutExtension(rirekiFile); if (!rirekiFile.Equals(Model.RirekiFile)) { comboSource.Add(filename, rirekiFile); } } if (comboSource.Count > 0) { // 対象が1件以上の場合バインド cmbRirekiFiles.DataSource = new BindingSource(comboSource.Reverse(), null); cmbRirekiFiles.DisplayMember = "Key"; cmbRirekiFiles.ValueMember = "Value"; if (cmbRirekiFiles.Items.Count > 0) { cmbRirekiFiles.SelectedIndex = 0; } } // 検索結果を画面に設定 SetScreenValues(Model); // 残金を編集不可にする gridRireki.Columns["残金"].ReadOnly = true; return(0); }