Beispiel #1
0
        /// <summary>
        /// DataRowをM10_SHIN_Memberクラスにコンバートする
        /// </summary>
        /// <param name="row"></param>
        /// <returns></returns>
        private M10_TOKHIN_Search getM10TOKHINHIN_ConvertMemberRow(DataRow row)
        {
            M10_TOKHIN_Search mem = new M10_TOKHIN_Search();

            mem.得意先コード = int.Parse(row["得意先コード"].ToString());
            mem.枝番     = int.Parse(row["枝番"].ToString());
            mem.品番コード  = int.Parse(row["品番コード"].ToString());
            mem.得意先品番  = row["得意先品番"].ToString();

            return(mem);
        }
Beispiel #2
0
        /// <summary>
        /// 得意先品番登録データ登録処理
        /// </summary>
        /// <param name="ds">
        /// データセット
        ///  [0:updTbl]登録・更新対象のデータテーブル
        ///  [1:delTbl]削除対象のデータテーブル
        /// </param>
        public void Update_TOKHIN(DataSet ds, int loginUserId)
        {
            using (TRAC3Entities context = new TRAC3Entities(CommonData.TRAC3_GetConnectionString()))
            {
                context.Connection.Open();

                // データ登録・更新
                DataTable updTbl = ds.Tables["updTbl"];
                foreach (DataRow rw in updTbl.Rows)
                {
                    // 変更なしデータは処理対象外とする
                    if (rw.RowState == DataRowState.Unchanged)
                    {
                        continue;
                    }

                    M10_TOKHIN_Search row = getM10TOKHINHIN_ConvertMemberRow(rw);
                    // 対象データ取得
                    var data =
                        context.M10_TOKHIN
                        .Where(w => w.取引先コード == row.得意先コード &&
                               w.枝番 == row.枝番 &&
                               w.品番コード == row.品番コード)
                        .FirstOrDefault();

                    if (data == null)
                    {
                        // 新規登録
                        M10_TOKHIN tokhin = new M10_TOKHIN();
                        tokhin.取引先コード   = row.得意先コード;
                        tokhin.枝番       = row.枝番;
                        tokhin.品番コード    = row.品番コード ?? -1;
                        tokhin.得意先品番コード = row.得意先品番;
                        tokhin.登録者      = loginUserId;
                        tokhin.登録日時     = DateTime.Now;
                        tokhin.最終更新者    = loginUserId;
                        tokhin.最終更新日時   = DateTime.Now;

                        context.M10_TOKHIN.ApplyChanges(tokhin);
                    }
                    else
                    {
                        // データ更新
                        data.得意先品番コード = row.得意先品番;
                        data.最終更新者    = loginUserId;
                        data.最終更新日時   = DateTime.Now;
                        data.削除者      = null;
                        data.削除日時     = null;

                        data.AcceptChanges();
                    }
                }

                // データ削除
                DataTable delTbl = ds.Tables["delTbl"];
                foreach (DataRow rw in delTbl.Rows)
                {
                    M10_TOKHIN_Search row = getM10TOKHINHIN_ConvertMemberRow(rw);

                    // 対象データ取得
                    var data =
                        context.M10_TOKHIN
                        .Where(w => w.取引先コード == row.得意先コード &&
                               w.枝番 == row.枝番 &&
                               w.品番コード == row.品番コード)
                        .FirstOrDefault();

                    if (data == null)
                    {
                        continue;
                    }

                    context.M10_TOKHIN.DeleteObject(data);
                    data.AcceptChanges();
                }

                context.SaveChanges();
            }
        }