// row = nullのときは新規作成 private models.db.Row CreateKanjouKamokuDetailRow(System.Windows.Forms.Form owner, models.db.Row row) { if (row == null) { views.controls.SelectKanjouKamokuDialog dlg = new views.controls.SelectKanjouKamokuDialog(); if (dlg.ShowDialog(owner, Context) != System.Windows.Forms.DialogResult.OK) { return(null); } row = bufferedKanjouKamokuTable.NewRow(); row.Set("parent_id", -1); row.Set("has_child", false); row.Set("parent_shikin_kamoku_kubun_id", dlg.ShikinKamokuKubunId); row.Set("parent_jigyou_kamoku_kubun_id", dlg.JigyouKamokuKubunId); row.Set("parent_taisyaku_kamoku_kubun_id", dlg.TaisyakuKamokuKubunId); row.Set("taisyaku_kubun_id", (int)models.constants.MTTaisyakuKubun.KariMinus); row.Set("usable", true); row.Set("editable", true); row.Set("denpyou_print_target", true); row.Set("hierarchy", (int)models.constants.MTKanjouKamokuHierarchy.ChuuKubun); int kamokuCode = 0; var maxKamokuRows = Context.KaikeiDatabase.MTKanjouKamoku.Select("where parent_id = -1 order by kamoku_code desc limit 1"); if (maxKamokuRows.Count() == 1) { string maxKamokuCodeStr = maxKamokuRows.First().GetStr("kamoku_code"); kamokuCode = helper.Converter.ObjToInt(maxKamokuCodeStr, 0) + 1; } else { kamokuCode = 1; } string kamokuCodeStr = string.Format("{0:D5}", kamokuCode); row.Set("kamoku_code", kamokuCodeStr); bufferedKanjouKamokuTable.Insert(row); row = bufferedKanjouKamokuTable.LastInsertedRow(); } int jigyouKubunId = (int)row.GetLong("jigyou_kamoku_kubun_id", -1); int taisyakuKubunId = (int)row.GetLong("taisyaku_kamoku_kubun_id", -1); int shikinKubunId = (int)row.GetLong("shikin_kamoku_kubun_id", -1); models.db.Row jigyouRow = Context.KaikeiDatabase.MTKamokuKubun.GetRowById(jigyouKubunId); models.db.Row taisyakuRow = Context.KaikeiDatabase.MTKamokuKubun.GetRowById(taisyakuKubunId); models.db.Row shikinRow = Context.KaikeiDatabase.MTKamokuKubun.GetRowById(shikinKubunId); if (jigyouRow != null) { row.Set("parent_jigyou_kamoku_kubun_id", jigyouRow.GetLong("parent_id", -1)); row.Set("parent_jigyou_kamoku_kubun", jigyouRow.GetMasterStr("parent_id", "name", "", Context.KaikeiDatabase.MTKamokuKubun)); } if (taisyakuRow != null) { row.Set("parent_taisyaku_kamoku_kubun_id", taisyakuRow.GetLong("parent_id", -1)); row.Set("parent_taisyaku_kamoku_kubun", taisyakuRow.GetMasterStr("parent_id", "name", "", Context.KaikeiDatabase.MTKamokuKubun)); } if (shikinRow != null) { row.Set("parent_shikin_kamoku_kubun_id", shikinRow.GetLong("parent_id", -1)); row.Set("parent_shikin_kamoku_kubun", shikinRow.GetMasterStr("parent_id", "name", "", Context.KaikeiDatabase.MTKamokuKubun)); } return(row); }