public bool DelBORel() { RelTypeManager manager = new RelTypeManager(); String json = Request["data"]; ArrayList rows = (ArrayList)Decode(json); string ISDelType = "BO"; string RTID = ""; List <string> TypeRTID = new List <string>(); foreach (Hashtable row in rows) { if (row.Count == 5)//删除对象实例 { RTID = row["RTID"].ToString(); TypeRTID.Add(RTID); } else//删除类型及类型下的对象实例 { TypeRTID = new List <string>(); ISDelType = "BOT"; RTID = row["RTID"].ToString(); TypeRTID.Add(RTID); break; } } return(manager.DelBOTRel(TypeRTID, ISDelType)); }
/// <summary> /// 获取对象类型关系名称 /// </summary> /// <returns></returns> public string GetRelTypeName(string RelName) { string data = ""; if (RelName == null) { RelName = ""; } RelTypeManager manager = new RelTypeManager(); IList <RelTypeModel> ListRTM = manager.GetList(); foreach (RelTypeModel rtm in ListRTM) { if (rtm.RT.Contains((RelName))) { if (data == "") { data = "{id:'" + rtm.Rtid + "',text:'" + rtm.Title + "'}"; } else { data = data + "," + "{id:'" + rtm.Rtid + "',text:'" + rtm.Title + "'}"; } } } if (data != "") { data = "[" + data + "]"; } return(data); }
public ActionResult GetRelTypeNameByID() { DataTable dt = new DataTable(); string ItemID = Request["ItemID"]; if (!string.IsNullOrEmpty(ItemID)) { RelTypeManager manager = new RelTypeManager(); dt = manager.GetRelTable(ItemID); } return(JsonNT(dt)); }
public string GetRelTypeNameByBOTID(string BOTID) { string data = ""; RelTypeManager manager = new RelTypeManager(); List <RelTypeModel> ListRTM = manager.GetRelTypeNameByID(BOTID); foreach (RelTypeModel rtm in ListRTM) { if (data == "") { data = "{id:'" + rtm.Rtid + "',text:'" + rtm.Title + "'}"; } else { data = data + "," + "{id:'" + rtm.Rtid + "',text:'" + rtm.Title + "'}"; } } if (data != "") { data = "[" + data + "]"; } return(data); }
/// <summary> /// 校验数据通过后才能进行入库操作,True:通过,False不通过 /// </summary> /// <returns></returns> private bool CheckData() { bool Rtn = true; ResultTable = DataExcel.Clone();//复制当前表的结构,同时记录对象类型ID和对象ID,用于写数据库。数据库中存储关系都是以ID来表示的,名称不符合要求 RelTypeManager RelManage = new RelTypeManager(); RelationManager RelBOManage = new RelationManager(); List <string> BOTIDList = new List <string>(); List <string> BOTUseGeoList = new List <string>(); List <string> BOIDList = new List <string>(); foreach (DataRow dr in DataExcel.Rows) { BOTIDList = new List <string>(); BOIDList = new List <string>(); //校验Excle表格中的对象类型和对象实例是否存在 if (dr.ItemArray[0].ToString() != "" && dr.ItemArray[1].ToString() != "" && dr.ItemArray[2].ToString() != "" && dr.ItemArray[3].ToString() != "")//校验对象类型 { BOTIDList = RelManage.GetBOTbyName(dr.ItemArray[2].ToString(), dr.ItemArray[3].ToString()); if (BOTIDList[0] == "0" || BOTIDList[1] == "0") { if (BOTIDList[0] == "0") { CheckBOTError = CheckBOTError + "对象类型为:" + dr.ItemArray[2].ToString() + " 有误,基础库中没有此对象类型\r\n"; } if (BOTIDList[1] == "0") { CheckBOTError = CheckBOTError + "对象类型为:" + dr.ItemArray[3].ToString() + " 有误,基础库中没有此对象类型\r\n"; } Rtn = false; break; } else { BOTUseGeoList = RelManage.GetBOTRelByName(dr.ItemArray[2].ToString(), dr.ItemArray[3].ToString()); if (BOTUseGeoList[0] == "1" && BOTUseGeoList[1] == "1") { CheckBOTError = CheckBOTError + "具有空间坐标的对象类型:【" + dr.ItemArray[2].ToString() + "】和【" + dr.ItemArray[3].ToString() + "】,无法创建上下级关系\r\n"; //空间关系校验,有空间坐标不允许建立上下级关系 Rtn = false; break; } else { DataRow drchk = ResultTable.NewRow(); drchk[0] = dr.ItemArray[0].ToString(); drchk[1] = dr.ItemArray[1].ToString(); drchk[2] = BOTIDList[0]; //返回的对象类型ID1 drchk[3] = BOTIDList[1]; //返回的对象类型ID2 ResultTable.Rows.Add(drchk); } } } else//校验对象实例 { if (dr.ItemArray[2].ToString() != "" && dr.ItemArray[3].ToString() != "")//校验对象 { BOIDList = RelBOManage.GetBObyName(dr.ItemArray[2].ToString(), dr.ItemArray[3].ToString()); if (BOIDList[0] == "0" || BOIDList[1] == "0") { if (BOIDList[0] == "0") { CheckBOError = CheckBOError + "对象名称为:" + dr.ItemArray[2].ToString() + " 有误,基础库中没有此对象\r\n"; } if (BOIDList[1] == "0") { CheckBOError = CheckBOError + "对象名称为:" + dr.ItemArray[3].ToString() + " 有误,基础库中没有此对象\r\n"; } Rtn = false; } else { DataRow drchk = ResultTable.NewRow(); drchk[0] = ""; drchk[1] = ""; drchk[2] = BOIDList[0]; //返回的对象ID1 drchk[3] = BOIDList[1]; //返回的对象ID2 ResultTable.Rows.Add(drchk); } } } } return(Rtn); }
/// <summary> /// 提交Excel模板数据到数据库中 /// </summary> /// <returns></returns> public string SaveData() { string result = "保存成功!"; string TITLE = ""; string BOTID1 = ""; string BOTID2 = ""; string RTID = ""; string RT = ""; List <RelTypeModel> Rlist = new List <RelTypeModel>(); List <RelationModel> BOlist = new List <RelationModel>(); RelTypeModel RelModel = new RelTypeModel(); //调用已经在写好的方法来遍历,具体的在DLL中 if (DataExcel != null) { if (CheckData()) { try { foreach (DataRow dr in ResultTable.Rows) { if (dr.ItemArray[0].ToString() != "" && dr.ItemArray[1].ToString() != "" && dr.ItemArray[2].ToString() != "" && dr.ItemArray[3].ToString() != "")//取对象类型的关系 { RelTypeManager manager = new RelTypeManager(); RelModel = new RelTypeModel(); BOlist = new List <RelationModel>(); TITLE = dr.ItemArray[0].ToString(); RT = dr.ItemArray[1].ToString(); BOTID1 = dr.ItemArray[2].ToString(); BOTID2 = dr.ItemArray[3].ToString(); if (!manager.Exist(new RelTypeModel() { Title = TITLE, Botid1 = BOTID1, Botid2 = BOTID2 }, ref RTID)) //不存在添加对象类型之间的关系,存在则忽略此关系,只添加对象实例关系 { RelModel.Rtid = RTID; RelModel.RT = RT; RelModel.Title = TITLE; RelModel.Botid1 = BOTID1; RelModel.Botid2 = BOTID2; Rlist.Add(RelModel); manager.AddRelationModel(Rlist); } } else//对象实例的关系 { RelationManager Rmanage = new RelationManager(); RelationModel tmpbo = new RelationModel(); tmpbo.RelationID = System.Guid.NewGuid().ToString(); tmpbo.RTID = RTID; tmpbo.BOId1 = dr.ItemArray[2].ToString(); tmpbo.BOId2 = dr.ItemArray[3].ToString(); Rmanage.Add(tmpbo); } } } catch { result = "保存失败!"; } finally { DataExcel = null; } } else { result = CheckBOTError + "\r\n" + CheckBOError; } } else { result = "保存失败!"; } return(result); }