///-------------------------------------------------------------------- /// <summary> /// 過去勤怠データを削除する </summary> ///-------------------------------------------------------------------- private void pastDataDelete() { // 待機カーソルにする this.Cursor = Cursors.WaitCursor; // データセットとアダプタ ryowaDataSet dts = new ryowaDataSet(); ryowaDataSetTableAdapters.環境設定TableAdapter adp = new ryowaDataSetTableAdapters.環境設定TableAdapter(); ryowaDataSetTableAdapters.T_勤怠TableAdapter tAdp = new ryowaDataSetTableAdapters.T_勤怠TableAdapter(); adp.Fill(dts.環境設定); int delMonth = 0; // 環境設定ファイルを読む if (dts.環境設定.Any(a => a.ID == common.global.configKEY)) { var s = dts.環境設定.Single(a => a.ID == common.global.configKEY); delMonth = s.データ保存月数; } else { this.Cursor = Cursors.Default; return; } // データ保存月数が0(ゼロ)のとき、削除しないで終了 if (delMonth == 0) { this.Cursor = Cursors.Default; return; } // 過去勤怠データ削除 tAdp.Fill(dts.T_勤怠); DateTime dt = DateTime.Today.AddMonths(-1 * delMonth); var ss = dts.T_勤怠.Where(a => (a.日付.Year * 100 + a.日付.Month) < (dt.Year * 100 + dt.Month) && a.RowState != DataRowState.Deleted); foreach (var t in ss) { t.Delete(); } // データベース更新 tAdp.Update(dts.T_勤怠); // カーソルを戻す this.Cursor = Cursors.Default; }