/// <summary>
        /// 家計簿DB(Access)よりtblReceiptを取得して明細情報を設定する処理
        /// </summary>
        private void GetDataSet()
        {
            //--- モデルクラスから取得 ---
            int id = ((ModelDetailForm)_model).id;

            //--- テーブルアダプタの生成 ---
            tblReceiptTableAdapter ta = new tblReceiptTableAdapter();
            //--- データセットの生成 ---
            DataSetKakeibo ds = new DataSetKakeibo();

            //--- DBのテーブルを取得 ---
            int result = ta.FillByOneRecord(ds.tblReceipt, id);

            //--- モデルクラスに受渡し --
            ((ModelDetailForm)_model).dsKakeibo  = ds;
            ((ModelDetailForm)_model).tblReceipt = ds.tblReceipt;

            ((ModelDetailForm)_model).date          = ds.tblReceipt[0].DATE.ToString();
            ((ModelDetailForm)_model).goods         = ds.tblReceipt[0].GOODS;
            ((ModelDetailForm)_model).price         = ds.tblReceipt[0].PRICE;
            ((ModelDetailForm)_model).itemid        = ds.tblReceipt[0].ITEM_ID;
            ((ModelDetailForm)_model).itemdetailsid = ds.tblReceipt[0].ITEM_DETAILS_ID;

            //### 検討中ロジック追加 ###
            // note: 更新・削除用にtblReceipt_Updateも取得する
            tblReceipt_UpdateTableAdapter ta_Update = new tblReceipt_UpdateTableAdapter();
            int result_Update = ta_Update.FillByOneRecord(ds.tblReceipt_Update, id);

            ((ModelDetailForm)_model).tblReceipt_Update = ds.tblReceipt_Update;
            //### 検討中ロジック追加 ###


            //--- 取得結果をログに出力 ---
            System.Diagnostics.Trace.Write(ds.tblReceipt.Count.ToString());
        }
        /// <summary>
        /// 家計簿DB(Access)よりtblReceiptを取得
        /// </summary>
        private void GetDataSet()
        {
            //--- モデルクラスから取得 ---
            string dateOne = ((ModelListForm)_model).dateOne;
            string dateTwo = ((ModelListForm)_model).dateTwo;
            string goods   = ((ModelListForm)_model).goods;

            //--- テーブルアダプタの生成 ---
            tblReceiptTableAdapter ta = new tblReceiptTableAdapter();
            //--- データセットの生成 ---
            DataSetKakeibo ds = new DataSetKakeibo();

            //--- DBのテーブルを取得 ---
            int result = ta.FillBySearchDaysAndGoods(
                ds.tblReceipt,
                DateTime.Parse(dateOne),
                DateTime.Parse(dateTwo), goods);

            //--- モデルクラスに受渡し --
            //note: 不要みたい base._model = new ModelListForm();
            ((ModelListForm)_model).dsKakeibo = ds;

            //--- 取得結果をログに出力 ---
            System.Diagnostics.Trace.Write(ds.tblReceipt.Count.ToString());
        }
 /// <summary>
 /// コンストラクタ・引数なし
 /// </summary>
 /// <remarks>
 /// note 14/02/01 GetDsReceiptでnewした時に、引数有りだと無限ループになるため
 /// note 14/02/10 引数無しは、新規レコード作成用のインスタンスを作成する仕組み用に使用する
 /// note 14/05/07 ここでServiceを呼ぶ処理を記述していると、Serviceで使用する際に無限ループするため、何も記述しない。
 /// </remarks>
 public ModelDetailForm()
 {
     this._dsKakeibo  = new DataSetKakeibo();
     this._tblReceipt = this._dsKakeibo.tblReceipt;
     // TODO 更新用のテーブルをどうやってやるか検討中
     this._tblReceipt_Update = this._dsKakeibo.tblReceipt_Update;
 }
        /// <summary>
        /// GetAllTblReceipt
        /// </summary>
        /// <remarks>
        /// TblReceiptの全レコード取得
        /// </remarks>
        private void GetAllTblReceipt()
        {
            ServiceGetTblReceipt svGet = new ServiceGetTblReceipt();

            svGet.doStart();
            this._dsKakeibo = ((ModelListForm)svGet._model)._dsKakeibo;
        }
        /* todo 全件取得できるように後で見直す。
         * /// <summary>
         * /// 年月とアイテムIDを元に、tblReceiptを集計したレコードを抽出
         * /// </summary>
         * private void DataSetOfTheSummaryInTheYearMonthAndItemID()
         * {
         *  //--- tblReceiptの値を取得するControlを実行 ---
         *  ServiceGetTblReceiptSummaryYearMonth svGet =
         *      new ServiceGetTblReceiptSummary();
         *  svGet.doStart();
         *  //--- 集計したtblReceiptを持ったDataSetを反映
         *  this._dsKakeibo = ((ModelSummaryForm)svGet._model)._dsKakeibo;
         *
         * }
         */
        #endregion

        #region DataSetOfTheSummaryInTheYearMonth
        /// <summary>
        /// DataSetOfTheSummaryInTheYearMonth
        /// </summary>
        /// <remarks>
        /// 年月を、tblReceiptSumYearMonthから該当年月のレコードを抽出
        /// Serviceクラスを基に、指定データをTableAdapterクラスを指定してデータを取得する
        /// </remarks>
        /// <param name="ym">検索する年月</param>
        private void DataSetOfTheSummaryInTheYearMonth(string searchym)
        {
            //--- tblReceiptSumYearMonthの値を取得するControlを実行 ---
            ServiceGetTblReceiptSummaryYearMonth svGet = new ServiceGetTblReceiptSummaryYearMonth(searchym);

            svGet.doStart();
            //--- 検索したtblReceiptSumYearMonthを持ったDataSetを反映
            this._dsKakeibo = ((ModelSummaryForm)svGet._model)._dsKakeibo;
        }
        /// <summary>
        /// DataSetOfTheSearchInGoods
        /// </summary>
        /// <remarks>
        /// 商品名を元に、tblReceiptからレコードを抽出
        /// </remarks>
        /// <param name="goods">検索する商品名</param>
        private void DataSetOfTheSearchInGoods(string goods)
        {
            //--- tblReceiptの値を取得するControlを実行 ---
            ServiceGetTblReceiptSearchGoods svGet = new ServiceGetTblReceiptSearchGoods(goods);

            svGet.doStart();
            //--- 検索したtblReceiptを持ったDataSetを反映
            this._dsKakeibo = ((ModelListForm)svGet._model)._dsKakeibo;
        }
        /// <summary>
        /// DataSetOfTheSearchInDateRange
        /// </summary>
        /// <remarks>
        /// 日付を元に、tblReceiptからレコードを抽出
        /// </remarks>
        /// <param name="dateOne">検索開始日</param>
        /// <param name="dateTwo">検索終了日</param>
        private void DataSetOfTheSearchInDateRange(DateTime dateOne, DateTime dateTwo)
        {
            //--- tblReceiptの値を取得するControlを実行 ---
            ServiceGetTblReceiptSearchDays svGet = new ServiceGetTblReceiptSearchDays(dateOne, dateTwo);

            svGet.doStart();
            //--- 検索したtblReceiptを持ったDataSetを反映
            this._dsKakeibo = ((ModelListForm)svGet._model)._dsKakeibo;
        }
        /// <summary>
        /// DataSetOfTheSearchInTheItemIDAndDateRange
        /// </summary>
        /// <remarks>
        /// 日付を元に、tblReceiptからレコードを抽出
        /// </remarks>
        /// <param name="dateOne">検索開始日</param>
        /// <param name="dateTwo">検索終了日</param>
        /// <param name="goods">検索アイテムID</param>
        private void DataSetOfTheSearchInTheItemIDAndDateRange(DateTime dateOne, DateTime dateTwo, byte itemID)
        {
            //--- tblReceiptの値を取得するControlを実行 ---
            ServiceGetTblReceiptMenu svGet =
                new ServiceGetTblReceiptMenu(dateOne, dateTwo, itemID);

            svGet.doStart();
            //--- 検索したtblReceiptを持ったDataSetを反映
            this._dsKakeibo = ((ModelMenuForm)svGet._model)._dsKakeibo;
        }
        /// <summary>
        /// 日付を元に、tblReceiptAddItemNameからレコードを抽出
        /// </summary>
        /// <param name="dateOne"></param>
        /// <param name="dateTwo"></param>
        /// <param name="item"></param>
        private void DataSetOfTheSearchInTheItemAndDateRange(DateTime dateOne, DateTime dateTwo, string item)
        {
            //--- tblReceiptAddItemNameの値を取得するControlを実行 ---
            ServiceGetTblReceiptAddItemName svGet =
                new ServiceGetTblReceiptAddItemName(dateOne, dateTwo, item);

            svGet.doStart();
            //--- 検索したtblReceiptを持ったDataSetを反映
            this._dsKakeibo = ((ModelListForm)svGet._model)._dsKakeibo;
        }
        /// <summary>
        /// DataSetOfTheSearchInYearMonth
        /// </summary>
        /// <remarks>
        /// todo 2014/07/27 引数をstring型でyyyymmに変更する。その為、コンストラクタも新たに作成する
        /// 年月(yyyymm)を元に、tblReceiptからレコードを抽出
        /// </remarks>
        /// <param name="dateOne">検索年月日</param>
        private void DataSetOfTheSearchInYearMonth(DateTime dateOne)
        {
            //--- tblReciptの値を取得するServiceを実行 ---
            ServiceGetTblReceiptSearchYearMonth svGet =
                new ServiceGetTblReceiptSearchYearMonth(dateOne);

            svGet.doStart();
            //--- 検索したtblReciptを持ったDataSetを反映
            this._dsKakeibo = ((ModelListForm)svGet._model)._dsKakeibo;
        }
        /// <summary>
        /// 家計簿DB(Access)のtblReceiptへ更新処理を行う
        /// </summary>
        /// <remarks>
        /// todo 14/02/10 テーブル反映結果がViewに返せて無い。resultをViewに渡して、メッセージを表示する等。
        /// todo 17/05/01 ModelDetailForm.csでtblReceipt_Updateが空だった。原因は、ServiceGetTblReceiptDetailでtblReceipt_Updateに何もセットしてないためだった。
        /// </remarks>
        private void UpdateDataSet()
        {
            //--- テーブルアダプタの生成 ---
            tblReceipt_UpdateTableAdapter ta = new tblReceipt_UpdateTableAdapter();

            //--- データセットの生成 ---
            DataSetKakeibo ds = new DataSetKakeibo();

            //--- DBのテーブルを取得 ---
            //int result = ta.Update(((ModelDetailForm)_model).tblReceipt);
            int result = ta.Update(((ModelDetailForm)_model).tblReceipt_Update);

            //--- 取得結果をログに出力 ---
            System.Diagnostics.Trace.Write(result.ToString());
        }
        /// <summary>
        /// 家計簿DB(Access)よりtblItemMasterを取得
        /// </summary>
        private void GetDataSet()
        {
            //--- テーブルアダプタの生成 ---
            tblItemMasterTableAdapter ta = new tblItemMasterTableAdapter();
            //--- データセットの生成 ---
            DataSetKakeibo ds = new DataSetKakeibo();

            //--- DBのテーブルを取得 ---
            int result = ta.Fill(ds.tblItemMaster);

            //--- モデルクラスに受渡し --
            ((ModelDetailForm)_model).tblItemMaster = ds.tblItemMaster;

            //--- 取得結果をログに出力 ---
            System.Diagnostics.Trace.Write(ds.tblReceipt.Count.ToString());
        }
Exemple #13
0
        /// <summary>
        /// 家計簿DB(Access)よりtblReceiptを取得
        /// </summary>
        private void GetDataSet()
        {
            //--- テーブルアダプタの生成 ---
            tblReceiptTableAdapter ta = new tblReceiptTableAdapter();
            //--- データセットの生成 ---
            DataSetKakeibo ds = new DataSetKakeibo();

            //--- DBのテーブルを取得 ---
            int result = ta.Fill(ds.tblReceipt);

            //--- モデルクラスに受渡し --
            //todo ModelListFormクラスのGetAllTblReceiptメソッドで呼ばれるときはbase._modelのインスタンス化が必要みたい
            base._model = new ModelListForm();
            ((ModelListForm)_model).dsKakeibo = ds;

            //--- 取得結果をログに出力 ---
            System.Diagnostics.Trace.Write(ds.tblReceipt.Count.ToString());
        }
        /// <summary>
        /// 家計簿DB(Access)よりtblReceiptを取得
        /// </summary>
        /// <remarks>
        /// tblReceiptSumYearMonthから全件取得する関数
        /// </remarks>
        private void GetDataSet()
        {
            //--- テーブルアダプタの生成 ---
            tblReceiptSumYearMonthTableAdapter ta = new tblReceiptSumYearMonthTableAdapter();
            //--- データセットの生成 ---
            DataSetKakeibo ds = new DataSetKakeibo();

            //--- DBのテーブルを取得 ---

            int result = ta.Fill(ds.tblReceiptSumYearMonth);

            //--- モデルクラスに受渡し --
            //note: 不要みたい base._model = new ModelSummaryForm();
            ((ModelSummaryForm)_model).dsKakeibo = ds;

            //--- 取得結果をログに出力 ---
            System.Diagnostics.Trace.Write(ds.tblReceipt.Count.ToString());
        }
        private void ReplacedByValueFromTable(int id)
        {
            //--- tblReceiptの値を取得するControlを実行 ---
            ServiceGetTblReceiptDetail svGet = new ServiceGetTblReceiptDetail(id);

            svGet.doStart();

            //--- 値をプロパティ用の項目にセット ---
            // todo 14/2/15 課題;プロパティが増えると、受渡しの項目を下記に増やす手間が生まれる。まとめて渡せないか?
            // note 14/2/15 考察;この処理を各プロパティに入れると、値無しでエラーになるので、ここにまとめておく
            this._dsKakeibo  = ((ModelDetailForm)svGet._model).dsKakeibo;
            this._tblReceipt = ((ModelDetailForm)svGet._model).dsKakeibo.tblReceipt;
            // TODO 更新方法を検討中
            this._tblReceipt_Update = ((ModelDetailForm)svGet._model).dsKakeibo.tblReceipt_Update;

            this._date          = ((ModelDetailForm)svGet._model).date;
            this._goods         = ((ModelDetailForm)svGet._model).goods;
            this._price         = ((ModelDetailForm)svGet._model).price;
            this._itemid        = ((ModelDetailForm)svGet._model).itemid;
            this._itemdetailsid = ((ModelDetailForm)svGet._model).itemdetailsid;
        }
        /// <summary>
        /// 家計簿DB(Access)よりtblReceiptを取得
        /// </summary>
        private void GetDataSet()
        {
            //--- モデルクラスから取得 ---
            string dateOne = ((ModelListForm)_model).dateOne;

            //--- テーブルアダプタの生成 ---
            tblReceiptTableAdapter ta = new tblReceiptTableAdapter();
            //--- データセットの生成 ---
            DataSetKakeibo ds = new DataSetKakeibo();

            //--- DBのテーブルを取得 ---
            string yyyymm = string.Empty;

            yyyymm = dateOne.Substring(0, 4) + dateOne.Substring(6, 2);
            int result = ta.FillBySearchYearMonth(ds.tblReceipt, yyyymm);

            //--- モデルクラスに受渡し --
            //note: 不要みたい base._model = new ModelListForm();
            ((ModelListForm)_model).dsKakeibo = ds;

            //--- 取得結果をログに出力 ---
            System.Diagnostics.Trace.Write(ds.tblReceipt.Count.ToString());
        }