/// <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(); } }
/// <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(); } }