/// <summary> /// /// </summary> /// <param name="rw">DataRow</param> /// <returns></returns> private M09_HIN getRowData(DataRow rw) { M09_HIN data = new M09_HIN(); data.品番コード = int.Parse(rw["品番コード"].ToString()); data.原価 = decimal.Parse(rw["原価"].ToString()); data.加工原価 = decimal.Parse(rw["加工原価"].ToString()); data.卸値 = decimal.Parse(rw["卸値"].ToString()); data.売価 = decimal.Parse(rw["売価"].ToString()); data.掛率 = decimal.Parse(rw["掛率"].ToString()); return(data); }
// No-92 End Start /// <summary> /// 最大番号+1のレコードを生成して返す /// </summary> /// <returns></returns> public List <M09_HIN> GetNextNumber() { using (TRAC3Entities context = new TRAC3Entities(CommonData.TRAC3_GetConnectionString())) { context.Connection.Open(); int productCode = context.M09_HIN.Max(x => x.品番コード); M09_HIN m09 = new M09_HIN(); m09.品番コード = productCode + 1; return(new List <M09_HIN>() { m09 }); } }
/// <summary> /// 商品群データの登録・更新をおこなう /// </summary> /// <param name="updData"></param> /// <param name="pLoginUserCode"></param> /// <returns></returns> public int Update(M09_HIN updData, int pLoginUserCode) { using (TRAC3Entities context = new TRAC3Entities(CommonData.TRAC3_GetConnectionString())) { context.Connection.Open(); // 更新行を特定 var m09 = context.M09_HIN .Where(x => x.品番コード == updData.品番コード) .Select(c => c) .FirstOrDefault(); if (m09 == null) { // 未登録時(追加) M09_HIN hin = new M09_HIN(); hin.品番コード = updData.品番コード; hin.自社品番 = updData.自社品番; hin.自社色 = string.IsNullOrEmpty(updData.自社色) ? null : updData.自社色; hin.商品形態分類 = updData.商品形態分類; hin.商品分類 = updData.商品分類; hin.大分類 = updData.大分類; hin.中分類 = updData.中分類; hin.ブランド = updData.ブランド; hin.シリーズ = updData.シリーズ; hin.品群 = updData.品群; hin.自社品名 = updData.自社品名; hin.単位 = updData.単位; hin.原価 = updData.原価; hin.加工原価 = updData.加工原価; hin.卸値 = updData.卸値; hin.売価 = updData.売価; hin.掛率 = updData.掛率; hin.消費税区分 = updData.消費税区分; hin.備考1 = updData.備考1; hin.備考2 = updData.備考2; hin.返却可能期限 = updData.返却可能期限; hin.JANコード = updData.JANコード; hin.論理削除 = updData.論理削除; hin.登録日時 = DateTime.Now; hin.登録者 = pLoginUserCode; hin.最終更新日時 = DateTime.Now; hin.最終更新者 = pLoginUserCode; if (updData.論理削除.Equals(9)) { m09.削除日時 = DateTime.Now; m09.削除者 = pLoginUserCode; } context.M09_HIN.ApplyChanges(hin); } else { // 登録済(更新) m09.自社品番 = updData.自社品番; m09.自社色 = string.IsNullOrEmpty(updData.自社色) ? null : updData.自社色; m09.商品形態分類 = updData.商品形態分類; m09.商品分類 = updData.商品分類; m09.大分類 = updData.大分類; m09.中分類 = updData.中分類; m09.ブランド = updData.ブランド; m09.シリーズ = updData.シリーズ; m09.品群 = updData.品群; m09.自社品名 = updData.自社品名; m09.単位 = updData.単位; m09.原価 = updData.原価; m09.加工原価 = updData.加工原価; m09.卸値 = updData.卸値; m09.売価 = updData.売価; m09.掛率 = updData.掛率; m09.消費税区分 = updData.消費税区分; m09.備考1 = updData.備考1; m09.備考2 = updData.備考2; m09.返却可能期限 = updData.返却可能期限; m09.JANコード = updData.JANコード; m09.論理削除 = updData.論理削除; if (updData.論理削除.Equals(9)) { m09.削除日時 = DateTime.Now; m09.削除者 = pLoginUserCode; } else { m09.削除日時 = null; m09.削除者 = null; m09.最終更新日時 = DateTime.Now; m09.最終更新者 = pLoginUserCode; } m09.AcceptChanges(); } context.SaveChanges(); } return(1); }
/// <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["MST10011_GetData"]; Dictionary <string, List <DataRow> > dicSetProducts = new Dictionary <string, List <DataRow> >(); string strKey = string.Empty; List <DataRow> hinList = new List <DataRow>(); foreach (DataRow rw in updTbl.Rows) { strKey = rw["セット品番"].ToString() + "_" + rw["色"].ToString(); if (dicSetProducts.Keys.Contains(strKey)) { hinList.Add(rw); dicSetProducts[strKey] = hinList; } else { hinList = new List <DataRow>(); hinList.Add(rw); dicSetProducts.Add(strKey, hinList); } } foreach (string key in dicSetProducts.Keys) { List <DataRow> kouseihinList = dicSetProducts[key]; M09_HIN hinban = null; for (int i = 0; i < kouseihinList.Count; i++) { DataRow rw = kouseihinList[i]; string strJishaHinban = rw["セット品番"].ToString(); string strIro = string.IsNullOrEmpty(rw["色"].ToString()) ? null : rw["色"].ToString(); if (i == 0) { 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; } var delData = context.M10_SHIN.Where(w => w.品番コード == hinban.品番コード).ToList(); if (delData != null) { foreach (M10_SHIN dtl in delData) { context.M10_SHIN.DeleteObject(dtl); } context.SaveChanges(); } } string strKoseiHinban = rw["構成品番"].ToString(); string strKoseiIro = string.IsNullOrEmpty(rw["構成品色"].ToString()) ? null : rw["構成品色"].ToString(); M09_HIN koseihinban = null; if (strKoseiIro == null) { koseihinban = context.M09_HIN.Where(c => c.自社品番 == strKoseiHinban && c.自社色 == null).FirstOrDefault(); } else { koseihinban = context.M09_HIN.Where(c => c.自社品番 == strKoseiHinban && c.自社色 == strKoseiIro).FirstOrDefault(); } if (koseihinban == null) { continue; } M10_SHIN addHin = new M10_SHIN(); addHin.品番コード = hinban.品番コード; addHin.部品行 = i + 1; addHin.構成品番コード = koseihinban.品番コード; addHin.使用数量 = int.Parse(rw["使用数量"].ToString()); addHin.登録者 = loginUserId; addHin.登録日時 = DateTime.Now; addHin.最終更新者 = loginUserId; addHin.最終更新日時 = DateTime.Now; context.M10_SHIN.AddObject(addHin); } } context.SaveChanges(); } }