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

                // データ登録・更新
                DataTable updTbl = ds.Tables["MST20011_GetData"];
                foreach (DataRow rw in updTbl.Rows)
                {
                    string  strJishaHinban = rw["自社品番"].ToString();
                    string  strIro         = string.IsNullOrEmpty(rw["色"].ToString()) ? null : rw["色"].ToString();
                    M09_HIN hinban;

                    if (strIro == null)
                    {
                        hinban = context.M09_HIN.Where(c => c.自社品番 == strJishaHinban &&
                                                       c.自社色 == null).FirstOrDefault();
                    }
                    else
                    {
                        hinban = context.M09_HIN.Where(c => c.自社品番 == strJishaHinban &&
                                                       c.自社色 == strIro).FirstOrDefault();
                    }

                    if (hinban == null)
                    {
                        continue;
                    }

                    int i得意先コード = int.Parse(rw["得意先コード"].ToString());
                    int i枝番     = int.Parse(rw["枝番"].ToString());

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

                    if (data == null)
                    {
                        // 新規登録
                        M10_TOKHIN tokhin = new M10_TOKHIN();
                        tokhin.取引先コード   = i得意先コード;
                        tokhin.枝番       = i枝番;
                        tokhin.品番コード    = hinban.品番コード;
                        tokhin.得意先品番コード = rw["得意先品番"].ToString();
                        tokhin.登録者      = loginUserId;
                        tokhin.登録日時     = DateTime.Now;
                        tokhin.最終更新者    = loginUserId;
                        tokhin.最終更新日時   = DateTime.Now;

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

                        data.AcceptChanges();
                    }
                }


                context.SaveChanges();
            }
        }