示例#1
0
        /// <summary>
        ///     保存期間経過したデータの削除 </summary>
        private void dataDelete()
        {
            guideDataSet dts = new guideDataSet();

            guideDataSetTableAdapters.メール設定TableAdapter    adp  = new guideDataSetTableAdapters.メール設定TableAdapter();
            guideDataSetTableAdapters.ガイド依頼名TableAdapter   gAdp = new guideDataSetTableAdapters.ガイド依頼名TableAdapter();
            guideDataSetTableAdapters.ガイド依頼対象者TableAdapter mAdp = new guideDataSetTableAdapters.ガイド依頼対象者TableAdapter();

            this.Cursor = Cursors.WaitCursor;

            // データ読み込み
            adp.Fill(dts.メール設定);
            gAdp.Fill(dts.ガイド依頼名);
            mAdp.Fill(dts.ガイド依頼対象者);

            DateTime dt;

            if (dts.メール設定.Any(a => a.ID == guideRequest.common.global.mailKey))
            {
                var s = dts.メール設定.Single(a => a.ID == guideRequest.common.global.mailKey);

                if (s.データ保存月数 != 0)
                {
                    // 基準年月日
                    dt = DateTime.Today.AddMonths(-1 * s.データ保存月数);

                    // ガイド依頼対象者データ削除
                    foreach (var g in dts.ガイド依頼対象者
                             .Where(a => a.ガイド依頼名Row != null && a.ガイド依頼名Row.登録年月日 < dt))
                    {
                        g.Delete();
                    }

                    // ガイド依頼名データ削除
                    foreach (var t in dts.ガイド依頼名.Where(a => a.登録年月日 < dt))
                    {
                        // ガイド依頼データ削除
                        t.Delete();
                    }

                    // データベース更新
                    gAdp.Update(dts.ガイド依頼名);
                    mAdp.Update(dts.ガイド依頼対象者);
                }
            }

            this.Cursor = Cursors.Default;
        }