using Newtonsoft.Json.Linq; using PTMedicalInsurance.Business; using PTMedicalInsurance.Helper; using Sunny.UI.Win32; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace PTMedicalInsurance.Forms.BasicDatas.services { /// /// 手工维护目录服务类 /// 提供新增,修改等目录操作 /// class HandMaintainedDirectoryService { MIIrisServices mIS = new MIIrisServices(); public int Add(DirectoryTypeEnum category, out string errMsg) { if ((int)category > 9) { errMsg = "当前类别不支持新增!"; return -1; } if ((int)category == 9) { AddSingleDictionary addDictionary = new AddSingleDictionary(); if (addDictionary.ShowDialog() == DialogResult.OK) { if (UpdateDictionaryBySelf(addDictionary, out errMsg) != 0) { return -1; } else { return 0; } } else { errMsg = "取消操作"; return -1; } } else { AddSingleDirectory addDirectory = new AddSingleDirectory((int)category - 1); addDirectory.StartPosition = FormStartPosition.CenterParent; if (addDirectory.ShowDialog() == DialogResult.OK) { JObject joRtn = mIS.UpdateDirectoryBySelf(addDirectory.joPamam); return JsonHelper.parseIrisRtnValue(joRtn, out errMsg); } else { errMsg = "取消目录新增操作!"; return -1; } } } public int Update(DirectoryTypeEnum category, DataGridView dgvDirectoy, out string errMsg) { if ((int)category > 9) { errMsg = "当前类别不支持修改!"; return -1; } DataTable dt = (DataTable)dgvDirectoy.DataSource; if ((dt == null) || (dt.Rows.Count < 1)) { errMsg = "表中无数据,请检查!"; return -1; } DataRow dr = dt.Rows[dgvDirectoy.CurrentRow.Index]; if ((int)category == 9) { AddSingleDictionary addDictionary = new AddSingleDictionary(dr); if (addDictionary.ShowDialog() == DialogResult.OK) { if (UpdateDictionaryBySelf(addDictionary, out errMsg) != 0) { return -1; } else { return 0; } } else { errMsg = "取消操作"; return -1; } } else { AddSingleDirectory addDirectory = new AddSingleDirectory((int)category - 1, dr); addDirectory.StartPosition = FormStartPosition.CenterParent; if (addDirectory.ShowDialog() == DialogResult.OK) { JObject joRtn = mIS.UpdateDirectoryBySelf(addDirectory.joPamam); return JsonHelper.parseIrisRtnValue(joRtn, out errMsg); } else { errMsg = "取消目录修改操作!"; return -1; } } } public int UpdateDictionaryBySelf(AddSingleDictionary addDic, out string errMsg) { string outParam = "", HBDictionaryDr = ""; JObject joRtn; JObject jo = addDic.joPamam; try { //if (JsonHelper.getDestValue(jo, "operateType") == "0") //{ //插入并获取字典主表的DR JObject joDic = JObject.FromObject(jo["dicObj"]); joRtn = mIS.insertDictionary(joDic); if (JsonHelper.parseIrisRtnValue(joRtn, out errMsg) != 0) { return -1; } else { HBDictionaryDr = JsonHelper.getDestValue(joRtn, "data.HBDictionaryDr"); if (HBDictionaryDr == "") { errMsg = "HBDictionaryDr返回值为空"; return -1; } } //} //else //{ // if (addDic.dr != null) // { // HBDictionaryDr = addDic.dr["hBDictionaryID"].ToString(); // } // else // { // errMsg = "修改状态下未获得字典主表ID!请联系管理员"; // return -1; // } //} //插入明细表 JObject joDicDetail = JObject.FromObject(jo["detailObj"]); joDicDetail.Add("HBDictionaryDr", HBDictionaryDr); JArray jaParams = new JArray(); jaParams.Add(joDicDetail); joRtn = mIS.insertDictionaryDataDetail(jaParams); if (JsonHelper.parseIrisRtnValue(joRtn, out errMsg) != 0) { return -1; } else { return 0; } } catch (Exception ex) { errMsg = ex.Message; return -1; } } } }