示例#1
0
        // 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);
        }