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