public bool AddDevAttribute() { long fid = 0, fno = 0, id = 0; if (!DBEntityFinder.Instance.GetG3EIds(objId, ref id, ref fid, ref fno)) { return(false); } Fno = (int)fno; Fid = fid; rdt = DevEventHandler.GetDevTables(Fno, Fid); if (rdt == null) { return(false); } if (!DBEntityFinder.Instance.VerifyLTTID(objId)) { PublicMethod.Instance.ShowMessage("\n当前设备未在工单锁定范围,禁止编辑..."); GenerateHelper.SetAllReadOnly(rdt.DevObj, true); } GenerateHelper.SetAllBrowsable(rdt.DevObj, true); GenerateHelper.GenerateXPropsByAzwz(rdt.DevObj, Fno, false); AutoGenerationHelper.Instance.AddUITypeEditor(rdt.DevObj, Fno); pgDev.SelectedObject = rdt.DevObj; CurPropertyObj = rdt.DevObj; pgDev.Refresh(); // var simpleSymbolConfigEntry = SimpleSymbolConfig.Instance.Symbols.SingleOrDefault(o => o.Fno == Fno); //if (simpleSymbolConfigEntry != null) // WindowManager.ChangeDevAttributePsText(simpleSymbolConfigEntry.LayerName + "(*表示必填项)-" + // Fid.ToString(CultureInfo.InvariantCulture)); //this.Refresh(); //CommonHelp.Instance.RestoreValue(rdt.GnwzObj); return(true); }
public void PartialCopy(XProps newObj, XProps oldObj) { if (newObj.GetType() != oldObj.GetType()) { throw new ArgumentException("拷贝的两对象的类型不一致"); } foreach (var item in newObj) { if (item.ReadOnly) { continue; } var value = GenerateHelper.GetPropertyValue(newObj, item.Category, item.Name); if (item.ProType == typeof(DateTime)) { if (!value.Equals(default(DateTime))) { GenerateHelper.SetPropertyValue(oldObj, item.Category, item.Name, value); } } else { if (value != null && !string.IsNullOrEmpty(value.ToString().Trim())) { GenerateHelper.SetPropertyValue(oldObj, item.Category, item.Name, value); } } } }
/// <summary> /// 获取导线样式 /// </summary> /// <param name="dx"></param> /// <returns></returns> private InsertSymbolEventArgs GetDxStyle(XProps dx) { var lineStyle = DCadApi.InitializeInsertSymbolValue(141, dx, null); lineStyle.lineWidth = lineStyle.lineWidth / MapConfig.Instance.earthscale; return(lineStyle); }
public static void FieldReflection(XProps source, RequiredDevTables rdt, int g3eFno) { try { GenerateHelper.ResetXProps(ref source); if (rdt.SelfObj != null) { GenerateHelper.PartialCopyToCAD(rdt.SelfObj, source, g3eFno); } if (rdt.ConnectObj != null) { GenerateHelper.PartialCopyToCAD(rdt.ConnectObj, source, g3eFno); } if (rdt.GnwzObj != null) { GenerateHelper.PartialCopyToCAD(rdt.GnwzObj, source, g3eFno); } //把这个放最后的目的是因为所有设备的BZ 字段都取公共表里面的BZ if (rdt.ComObj != null) { GenerateHelper.PartialCopyToCAD(rdt.ComObj, source, g3eFno); } } catch (Exception ex) { LogManager.Instance.Error(ex); } }
/// <summary> /// 确保所属单位,所属变电站,受电馈线三者同时修改 /// </summary> /// <param name="obj"></param> /// <returns></returns> public bool CheckIsNUll(XProps obj, int fno) { var ssdw = GenerateHelper.GetFirstXPropOfHasValue(obj, "CD_SSDW"); var ssbdz = GenerateHelper.GetFirstXPropOfHasValue(obj, "CD_SSBDZ"); var ssxl = GenerateHelper.GetFirstXPropOfHasValue(obj, "CD_SSXL"); List <XProp> temp = new List <XProp>(); if (fno == 159) { temp.AddRange(new List <XProp> { ssdw, ssxl }); } else { temp.AddRange(new List <XProp> { ssdw, ssbdz, ssxl }); } if (temp.All(o => o == null)) { return(true); } if (temp.All(o => o != null && o.Value != null)) { return(true); } return(false); }
/// <summary> /// 更新选择的同类设备自身属性 /// </summary> public UpdataResult UpdataSelfAttribute(ref List <BulkChangeEnt> Current, XProps objDev) { UpdataResult ur = new UpdataResult(); try { DCadApi.isModifySymbol = true; foreach (var ent in Current) { try { var value = DevEventHandler.GetDevTables(ent.SingleG3EObject.G3E_FNO, ent.SingleG3EObject.G3E_FID); if (value.DevObj != null) { PartialCopy(objDev, value.DevObj); //查找看看该设备是否有符号,有的就要根据属性更新符号 ObjectId objId = DBEntityFinder.Instance.GetObjectIdByFid(ent.SingleG3EObject.G3E_FID); if (objId.IsNull) { UpdateAttribute(value, value.DevObj, false); ur.UpdataSucceedNum++; } else { ObjectId newObjId = ObjectId.Null; bool isUpdate = DCadApi.UpdateSymbol(objId, value.DevObj, out newObjId); if (isUpdate) { UpdateAttribute(value, value.DevObj, false); ur.UpdataSucceedNum++; } else { //存放更新失败的设备 ur.UpdataFailedNum++; ur.UpdataErrorLog.AppendLine("Fid=" + ent.SingleG3EObject.G3E_FID + "的设备更新失败"); } } } PublicMethod.Instance._isSelectedEntityChoice = false; } catch (Exception) { ur.UpdataFailedNum++; ur.UpdataErrorLog.AppendLine("Fid=" + ent.SingleG3EObject.G3E_FID + "的设备更新失败"); } } } catch (Exception ex) { LogManager.Instance.Error(ex); } finally { DCadApi.isModifySymbol = false; } return(ur); }
/// <summary> /// 更新属性面板 /// </summary> /// <param name="isSyncTz">是否是同步台帐调用次方法</param> private void SelectDevAttribute(bool isSyncTz) { var value = DevEventHandler.GetDevTables(CurrentFno, CurrentFid); if (value == null) { return; } if (value.DevObj == null) { return; } GenerateHelper.SetAllBrowsable(value.DevObj, true); isLTTID = DBEntityFinder.Instance.VerifyLTTID(CurrentFid); if (!isLTTID) { PublicMethod.Instance.ShowMessage("\n当前设备未被锁定,禁止编辑..."); GenerateHelper.SetAllReadOnly(value.DevObj, true); } else { if (isSyncTz) { GenerateHelper.SetAllReadOnly(value.DevObj, false); } DevPropertyGrid.Enabled = true; } AutoGenerationHelper.Instance.AddUITypeEditor(value.DevObj, CurrentFno); GenerateHelper.GenerateXPropsByAzwz(value.DevObj, CurrentFno, false); DevPropertyGrid.SelectedObject = value.DevObj; CurPropertyObj = value.DevObj; if (!DBEntityFinder.Instance.MemoryDevice.Keys.Contains(CurrentFno)) { DBEntityFinder.Instance.MemoryDevice.Add(CurrentFno, CurPropertyObj); } else { DBEntityFinder.Instance.MemoryDevice[CurrentFno] = CurPropertyObj; } DevPropertyGrid.Refresh(); var simpleSymbolConfigEntry = SimpleDBSymbolsConfig.Instance.DBSymbol.SingleOrDefault(o => o.G3E_FNO == CurrentFno); if (simpleSymbolConfigEntry != null) { DevNameGroup.Text = simpleSymbolConfigEntry.OtherProperty.LayerName + "(*表示必填项)-" + CurrentFid.ToString(CultureInfo.InvariantCulture); } //保证面板属性和点击设备对应 isclickDev = true; oldFno = 0; //绑定受电馈线 GetSDKXBEntity(); }
private static string GetCXD(XProps obj, int fno) { var cxd = string.Empty; var cdcxd = GenerateHelper.GetPropertyValue(obj, GenerateHelper.GetSelfTableNameByFno(fno), "CXD"); if (cdcxd != null) { cxd = cdcxd.ToString(); } return(cxd); }
private static string GetDQZT(XProps obj) { var dqzt = string.Empty; var cddqzt = GenerateHelper.GetPropertyValue(obj, "Connectivity_n", "CD_DQZT"); if (cddqzt != null) { dqzt = cddqzt.ToString(); } return(dqzt); }
/// <summary> /// 获取生命周期 /// </summary> /// <param name="obj"></param> /// <returns></returns> private static string GetCD_SMZQ(XProps obj) { var smzq = string.Empty; var cdsmzq = GenerateHelper.GetPropertyValue(obj, "Common_n", "CD_SMZQ"); if (cdsmzq != null) { smzq = cdsmzq.ToString(); } return(smzq); }
//获取是否带电 private static string GetCD_SFDD(XProps obj) { var sfdd = string.Empty; var cdsfdd = GenerateHelper.GetPropertyValue(obj, "Connectivity_n", "CD_SFDD"); if (cdsfdd != null) { sfdd = cdsfdd.ToString(); } return(sfdd); }
private static string GetDYDJ(XProps obj) { var dydj = string.Empty; var cddydj = GenerateHelper.GetPropertyValue(obj, "Common_n", "CD_DYDJ"); if (cddydj != null) { dydj = cddydj.ToString(); } return(dydj); }
/// <summary> /// 记录当前选择的对象 /// </summary> private void RecordCurrentSelectObj() { var ent = bulkChangeEnts.FirstOrDefault( o => o.LayerName.Equals(_tempItem)); currentFno = ent.SingleG3EObject.G3E_FNO; objDev = GenerateObj.Instance.GenderObjByFno(currentFno); GenerateHelper.SetAllBrowsable(objDev, true); GenerateHelper.ResetXProps(ref objDev); AutoGenerationHelper.Instance.AddUITypeEditor(objDev, currentFno); pGridBulkChange.SelectedObject = objDev; }
private void AddSwitch_Click(object sender, EventArgs e) { if (!DBEntityFinder.Instance.VerifyLTTID(dfG3eFid)) { PublicMethod.Instance.Editor.WriteMessage("\n电房未在工单锁定范围之内,禁止编辑!!!\n"); return; } try { if (lbSwitchCabinetcol.Items.Count > 0) { lbSwitchCabinetcol.SetSelected(lbSwitchCabinetcol.SelectedIndex, false); } isModify = false; isAdd = true; XProps kgg = GenerateObj.Instance.GenderObjByFno(198); GenerateHelper.SetAllBrowsable(kgg, true); if (dict.Count > 0) { var oldkgg = DevEventHandler.GetDevTables(198, dict[0]); if (oldkgg.DevObj != null) { DBEntityFinder.Instance.CopyValueFromOldDev(kgg, oldkgg.DevObj); } } else { var dfCom = DBManager.Instance.GetEntity <Common_n>(dfG3eFid); if (dfCom != null) { GenerateHelper.SetPropertyValue(kgg, "Common_n", "CD_SSDW", dfCom.CD_SSDW); GenerateHelper.SetPropertyValue(kgg, "Common_n", "CD_SSBDZ", dfCom.CD_SSBDZ); GenerateHelper.SetPropertyValue(kgg, "Common_n", "CD_SSXL", dfCom.CD_SSXL); GenerateHelper.SetPropertyValue(kgg, "Common_n", "WHBS", dfCom.WHBS); //GenerateHelper.SetPropertyValue(kgg, "Common_n", "GNWZ_SSGDS", dfCom.GNWZ_SSGDS); } } pgSwitchCabinet.SelectedObject = kgg; pgSwitchCabinet.Enabled = true; } catch (Exception ex) { LogManager.Instance.Error(ex); } finally { ResetSwitch(false); } }
/// <summary> /// 清空控件值 /// </summary> private void ClearPropertyGrid() { if (listView1.SelectedItems.Count > 0) { listView1.SelectedItems[0].ForeColor = Color.Empty; } DevPropertyGrid.Text = string.Empty; DevNameGroup.Text = "属性"; isclickDev = false; CurrentFno = oldFno = 0; DevPropertyGrid.SelectedObject = null; CurPropertyObj = null; DevPropertyGrid.Refresh(); }
/// <summary> /// 保存之前插入地图的设置必填属性值 /// </summary> /// <param name="fno"></param> /// <param name="obj"></param> private void AddDevToDict(int fno, XProps obj) { if (DBEntityFinder.Instance.MemoryDevice.Count <= 0) { DBEntityFinder.Instance.MemoryDevice.Add(fno, obj); } if (!DBEntityFinder.Instance.MemoryDevice.ContainsKey(fno)) { DBEntityFinder.Instance.MemoryDevice.Add(fno, obj); } else { DBEntityFinder.Instance.MemoryDevice[fno] = obj; } }
/// <summary> /// 给指定的字段设置选择框 /// </summary> /// <param name="fno"></param> /// <param name="xprops"></param> /// <param name="tableName"></param> /// <param name="fieldName"></param> private void SetEditor(int fno, XProps xprops, string tableName, string fieldName) { var xprop = GenerateHelper.GetSingleXProp(xprops, tableName, fieldName); if (xprop != null) { if (fno == 148 && fieldName.Equals("GNWZ_SSTJ")) { xprop.Converter = new NoEditConverter(); } else { xprop.Editor = editors[fieldName]; xprop.Converter = new NoEditConverter(); } } }
public void ProChanged(XProps obj, PropertyValueChangedEventArgs e) { string temp = e.ChangedItem.Label; if (temp.Contains('*')) { temp = temp.Replace('*', ' ').Trim(); } switch (temp) { case "杆号": { var dxSbmc = GenerateHelper.GetPropertyValue(dxXprops, "Common_n", "SBMC"); //GenerateHelper.SetPropertyValue(obj, "", dxSbmc.ToString() + e.ChangedItem.Value + DevStr); } break; } }
public void RefreshUI() { if (myView == null) { this.NodeInfo = null; return; } IGoNode nn = (myView.Selection != null ? myView.Selection.Primary as IGoNode : null); if (nn != null && nn.UserObject != null) { this.NodeInfo = (nn.UserObject as ToolBase).Settings; } else { this.NodeInfo = null; } }
public object GetChooseValueByFnoArray(IServiceProvider provider, ITypeDescriptorContext context, int[] fno, object oldValue) { IWindowsFormsEditorService edSvc = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService)); if (edSvc != null) { var pd = context.Instance; if (pd != null) { XProps xprops = (XProps)pd; var ssxl = GenerateHelper.GetFirstXPropOfHasValue(xprops, "CD_SSXL"); if (ssxl != null && !string.IsNullOrEmpty(ssxl.Value.ToString())) { SpecialDeviceList DevCol = new SpecialDeviceList(fno, ssxl.Value.ToString()); if (SpecialDeviceList.devCount <= 0) { MessageBox.Show("当前搜索设备个数为:" + SpecialDeviceList.devCount, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return(oldValue); } Autodesk.AutoCAD.ApplicationServices.Application.ShowModalDialog(DevCol); if (string.IsNullOrEmpty(GenerateHelper.choiceDevice.G3eFid)) { return(oldValue); } return(GenerateHelper.choiceDevice.DeviceSbmc); } else { MessageBox.Show("当前设备所填属性值是根据受电馈线过滤而得.", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return(oldValue); } } } return(oldValue); }
private void LoadFeatureList() { CmbBulkChange.Items.Clear(); GenerateHelper.EmptyFidRecord(); var items = bulkChangeEnts.Select(o => o.LayerName).Distinct(); if (items.Count() == 1) { CmbBulkChange.Items.Add(items.FirstOrDefault() + " (" + bulkChangeEnts.Count + ")"); CmbBulkChange.SelectedIndex = 0; _tempItem = items.FirstOrDefault(); RecordCurrentSelectObj(); } else { CmbBulkChange.Items.Add("全部" + " (" + bulkChangeEnts.Count + ")"); var query = from p in bulkChangeEnts group p by p.LayerName into g select new { g.Key, num = g.Count() }; foreach (var i in query) { CmbBulkChange.Items.Add(i.Key + " (" + i.num + ")"); } CmbBulkChange.Text = CmbBulkChange.Items[0].ToString(); objDev = GenerateObj.Instance.GenderObjByFno(0); GenerateHelper.ResetXProps(ref objDev); GenerateHelper.SetAllBrowsable(objDev, true); AutoGenerationHelper.Instance.AddUITypeEditor(objDev, currentFno); pGridBulkChange.SelectedObject = objDev; currentFno = 0; _tempItem = "全部"; } }
private void AddLateral_Load(object sender, EventArgs e) { dxXprops = GenerateObj.Instance.GenderObjByFno(141); dxXprops = DBEntityFinder.Instance.GetMemoryDevice(141, dxXprops); //默认为连接导线 GenerateHelper.SetPropertyValue(dxXprops, "Gg_pd_gnwzmc_n", "GNWZ_XLFL", "支线"); propertyGrid1.SelectedObject = dxXprops; dgXprops = GenerateObj.Instance.GenderObjByFno(201); dgXprops = DBEntityFinder.Instance.GetMemoryDevice(201, dgXprops); //电杆的维护班所隐藏 GenerateHelper.SetSingleBrowsable(dgXprops, "Common_n", "WHBS", false); //GenerateHelper.SetSingleBrowsable(dgXprops, "Common_n", "GNWZ_SSGDS", false); GenerateHelper.SetAllBrowsable(dgXprops, propertyList, false); propertyGrid2.SelectedObject = dgXprops; comboBox1.SelectedIndex = 0; }
/// <summary> /// 根据生命周期和是否带电获取样式 /// </summary> /// <param name="obj"> </param> /// <param name="userName"> </param> /// <returns></returns> private static string GetUserNameBySMZQorSFDD(XProps obj, string userName) { var smzq = GetCD_SMZQ(obj); var sfdd = GetCD_SFDD(obj); if (!string.IsNullOrEmpty(smzq)) { //停运和不带电情况 if (smzq.Equals("停运") || sfdd.Equals("不带电")) { userName += "-停运"; } else if (smzq.Equals("投运") && sfdd.Equals("带电")) { userName += "-投运"; } else { userName += "-" + smzq; } } return(userName); }
public void UpdateAttribute(XProps CurPropertyObj, ref ObjectId objId, RequiredDevTables rdt) { if (rdt == null || objId.IsNull || CurPropertyObj == null) { return; } ObjectId newObjId = ObjectId.Null; //只有块才可以更换符号 if (!DCadApi.UpdateSymbol(objId, CurPropertyObj, out newObjId)) { objId = newObjId; } else { FixEntity.Instance.ResetEntityRecord(newObjId, objId); if (objId != newObjId) { objId = newObjId; } } UpdateAttribute(rdt, CurPropertyObj, false); }
private void CmbBulkChange_SelectedIndexChanged(object sender, EventArgs e) { if (CmbBulkChange.SelectedIndex < 0) { CmbBulkChange.Text = CmbBulkChange.Items[0].ToString(); return; } GenerateHelper.EmptyFidRecord(); if (CmbBulkChange.SelectedItem.ToString().Trim().Split(' ')[0].Equals("全部")) { _tempItem = "全部"; currentFno = 0; objDev = GenerateObj.Instance.GenderObjByFno(0); GenerateHelper.SetAllBrowsable(objDev, true); GenerateHelper.ResetXProps(ref objDev); AutoGenerationHelper.Instance.AddUITypeEditor(objDev, currentFno); pGridBulkChange.SelectedObject = objDev; } else { _tempItem = CmbBulkChange.SelectedItem.ToString().Trim().Split(' ')[0]; RecordCurrentSelectObj(); } }
private void SwitchCabinetManage_Load(object sender, EventArgs e) { AddSwitch.ImageIndex = 0; ModifySwitch.ImageIndex = 2; DelSwitch.ImageIndex = 4; btSave.ImageIndex = 8; TZInfo.ImageIndex = 6; XProps kgg = GenerateObj.Instance.GenderObjByFno(198); GenerateHelper.SetAllBrowsable(kgg, true); pgSwitchCabinet.SelectedObject = kgg; var values = DBEntityFinder.Instance.GetSymbolByFno(198); GenerateHelper.Unrf.kggG3EID = g3eId; btSave.Enabled = false; if (values.Count > 0) { RefDict(values); if (lbSwitchCabinetcol.Items.Count > 0) { lbSwitchCabinetcol.SetSelected(0, true); } } }
/// <summary> /// 更新指定的实体属性 /// </summary> /// <param name="values"></param> /// <param name="objDev"></param> /// <param name="flag">是否是批量修改公共表</param> private void UpdateAttribute(RequiredDevTables values, XProps objDev, bool flag) { try { DCadApi.isModifySymbol = true; #region if (values.Fno == 148) { var currentAzwz = GenerateHelper.GetPropertyValue(objDev, GenerateHelper.GetGnwzTableNameByFno(148), "GNWZ_FL2"); string oldAzwz = string.Empty; if (values.GnwzObj != null) { oldAzwz = values.GnwzObj.GNWZ_FL2; } //安装位置由非台架变成台架 if (currentAzwz != null && currentAzwz.ToString().Equals("台架")) { //以前是台架只需更新 if (oldAzwz.Equals("台架")) { RefAttribute(objDev, values, 148, flag); //因为都是台架所以更新完148后还要更新199, long tjFid = 0; if (values.GnwzObj != null && long.TryParse(values.GnwzObj.GNWZ_SSTJ, out tjFid)) { var tjTables = DevEventHandler.GetDevTables(199, tjFid); RefAttribute(objDev, tjTables, 199, flag); } } else //以前为空或不是台架 { //先添加一条台架记录 //注意在添加新的台架数据之前先看看有没有对应的原始的台架数据(即被标记为Delete的数据) try { var tj = DBManager.Instance.GetEntity <Gg_gz_tj_n>(o => o.HasAttribute("GNWZ_FID") && o.GNWZ_FID != null && o.GNWZ_FID.Equals(values.Fid.ToString())); if (tj != null) { tj.EntityState = EntityState.Update; tj.IsErased = false; DBManager.Instance.Update(tj); var tjcom = DBManager.Instance.GetEntity <Common_n>(tj.G3E_FID); if (tjcom != null) { tjcom.EntityState = EntityState.Update; tjcom.IsErased = false; DBManager.Instance.Update(tjcom); } var tjGnwz = DBManager.Instance.GetEntity <Gg_pd_gnwzmc_n>(tj.G3E_FID); if (tjGnwz != null) { tjGnwz.EntityState = EntityState.Update; tjGnwz.IsErased = false; DBManager.Instance.Update(tjGnwz); } GenerateHelper.Unrf.tjFid = tj.G3E_FID.ToString(); var tjTables = DevEventHandler.GetDevTables(199, tj.G3E_FID); RefAttribute(objDev, tjTables, 199, flag); } else { var tjRes = DCadApi.AddAttribute(objDev, 199, values.Fid); GenerateHelper.Unrf.tjFid = tjRes.G3eFid; } } catch (NotExistException ex) { var tjRes = DCadApi.AddAttribute(objDev, 199, values.Fid); GenerateHelper.Unrf.tjFid = tjRes.G3eFid; } RefAttribute(objDev, values, 148, flag); } } //安装位置由台架变成非台架 else if (currentAzwz == null || !currentAzwz.ToString().Equals("台架")) { //以前是台架只需删除 if (oldAzwz.Equals("台架")) { //先删除台架数据 DBEntityErased.Instance.ErasedTjDBEntity(values.ComObj.G3E_FID, new List <DBEntity>()); //把变压器的GNWZ_SSTJ变成null GenerateHelper.Unrf.tjFid = null; //GenerateHelper.SetPropertyValue(objDev, "GNWZ_SSTJ", null); if (values.GnwzObj != null) { values.GnwzObj.GNWZ_SSTJ = null; } RefAttribute(objDev, values, 148, flag); } else { RefAttribute(objDev, values, 148, flag); } } } else { RefAttribute(objDev, values, values.Fno, flag); } UpdataShbAdnJlbValue(values.Fno, values.Fid); #endregion } catch (Exception ex) { LogManager.Instance.Error(ex); } finally { DCadApi.isModifySymbol = false; } }
public void ChangeAttributeRunTime(XProps xprop, int currentFno, List <long> fidList, string PropertyName, string newValue, object oldValue) { if (xprop == null || string.IsNullOrEmpty(PropertyName)) { return; } #region int len = 0; if (!string.IsNullOrEmpty(newValue)) { len = Encoding.Default.GetByteCount(newValue); } try { switch (PropertyName) { case "SBMC": { //if (CheckInput.IsSpecialCharacter(newValue)) //{ // PublicMethod.Instance.ShowMessage("\n功能位置名称不能包含特殊字符!!!"); // GenerateHelper.SetPropertyValue(xprop, GenerateHelper.GetCommonTableNameByFno(currentFno), PropertyName, oldValue); // return; //} if (len > 200) { PublicMethod.Instance.ShowMessage("\n功能位置名称最大输入200,当前为" + len); GenerateHelper.SetPropertyValue(xprop, GenerateHelper.GetCommonTableNameByFno(currentFno), PropertyName, oldValue); return; } if (currentFno == 148) { var value = GenerateHelper.GetPropertyValue(xprop, GenerateHelper.GetGnwzTableNameByFno(currentFno), "GNWZ_FL2"); if (value != null && value.ToString().Equals("台架")) { GenerateHelper.SetSingleBrowsable(xprop, GenerateHelper.GetGnwzTableNameByFno(currentFno), "GNWZ_SSTJ", true); var sbmc = GenerateHelper.GetPropertyValue(xprop, GenerateHelper.GetCommonTableNameByFno(currentFno), "SBMC"); GenerateHelper.SetPropertyValue(xprop, GenerateHelper.GetGnwzTableNameByFno(currentFno), "GNWZ_SSTJ", sbmc); } } } break; case "SBBM": { if (len > 20) { PublicMethod.Instance.ShowMessage("\n设备编码最大输入20,当前为" + len); GenerateHelper.SetPropertyValue(xprop, GenerateHelper.GetCommonTableNameByFno(currentFno), PropertyName, oldValue); } } break; case "CD_SMZQ": { if (currentFno == 147 || currentFno == 151) { var smzq = GenerateHelper.GetPropertyValue(xprop, GenerateHelper.GetCommonTableNameByFno(currentFno), "CD_SMZQ"); if (smzq != null && smzq.ToString().Equals("待投运")) { GenerateHelper.SetPropertyValue(xprop, GenerateHelper.GetCommonTableNameByFno(currentFno), "BZ", "备用"); } else { GenerateHelper.SetPropertyValue(xprop, GenerateHelper.GetCommonTableNameByFno(currentFno), "BZ", null); } } } break; case "CD_SSDW": { GenerateHelper.SetSSDW(xprop, oldValue, newValue); } break; case "CD_SSBDZ": { GenerateHelper.SetSSBDZ(xprop, oldValue, newValue); } break; case "CD_SSXL": { //SsxlList.str = newValue; //如果馈线改了相应的特殊字段必须清空,因为那些值都是按馈线过滤出来的 if (!string.IsNullOrEmpty(newValue)) { if (oldValue == null || (!newValue.Equals(oldValue.ToString()))) { DBEntityFinder.Instance.EmptySpecialFieldValue(xprop); } } } break; case "AZWZ": case "GNWZ_FL2": case "DLT": { GenerateHelper.GenerateByAzwz(ref xprop, newValue.Trim(), currentFno, true); AutoGenerationHelper.Instance.AddUITypeEditor(xprop, currentFno); // 根据安装位置清空从属关系 OwnerMethods.delDevOwner(fidList); if (ViewHelper.ConnetPs != null && (fidList.Any() && ViewHelper.ConnetPs.Visible)) { MenuControl.showConnectManager(fidList.Last()); } } break; case "GNWZ_SSGT": { GenerateHelper.Unrf.gtFid = GenerateHelper.choiceDevice.G3eFid; } break; case "GNWZ_SSTJ": { if (currentFno == 148) { var azwz = GenerateHelper.GetPropertyValue(xprop, GenerateHelper.GetGnwzTableNameByFno(currentFno), "GNWZ_FL2"); if (azwz != null && azwz.ToString().Equals("台架")) { var sbmc = GenerateHelper.GetPropertyValue(xprop, GenerateHelper.GetCommonTableNameByFno(currentFno), "SBMC"); GenerateHelper.SetPropertyValue(xprop, GenerateHelper.GetGnwzTableNameByFno(currentFno), "GNWZ_SSTJ", sbmc); } } else { GenerateHelper.Unrf.tjFid = GenerateHelper.choiceDevice.G3eFid; } } break; case "DYKGG": case "GNWZ_SSKGG": { GenerateHelper.Unrf.kggFid = GenerateHelper.choiceDevice.G3eFid; } break; case "SSDF": case "GNWZ_SSDF": { GenerateHelper.Unrf.dfFid = GenerateHelper.choiceDevice.G3eFid; } break; case "PBMC": case "SSBYQ": { GenerateHelper.Unrf.byqFid = GenerateHelper.choiceDevice.G3eFid; } break; case "GNWZ_SSTQHTJ": { GenerateHelper.Unrf.tqtjFid = GenerateHelper.choiceDevice.G3eFid; } break; case "BZ1": case "BZ2": { GenerateHelper.Unrf.zxFid = GenerateHelper.choiceDevice.G3eFid; } break; } } catch (Exception ex) { LogManager.Instance.Error(ex.Message); } finally { GenerateHelper.choiceDevice.G3eFid = null; GenerateHelper.choiceDevice.DeviceSbmc = null; } #endregion }
/// <summary> /// /// </summary> /// <param name="objDev"></param> /// <param name="ObjCom"></param> /// <param name="ObjSelf"></param> /// <param name="ObjGnwz"></param> /// <param name="flag">是否是批量</param> public void UpdateAttribute(XProps objDev, Common_n ObjCom, DBEntity ObjSelf, Gg_pd_gnwzmc_n ObjGnwz, bool flag) { var tableName = string.Empty; try { if (ObjCom != null) { tableName = ObjCom.GetType().Name; if (flag) { string sbmc = ObjCom.SBMC; GenerateHelper.PartialCopyFromCAD(objDev, ObjCom, 198); ObjCom.SBMC = sbmc; } else { GenerateHelper.PartialCopyFromCAD(objDev, ObjCom, 198); } if (GenerateHelper.Atff.com != null && ObjCom.CompareProperties(GenerateHelper.Atff.com).Any()) { if (ObjCom.EntityState == EntityState.None) { ObjCom.EntityState = EntityState.Update; } DBManager.Instance.Update(ObjCom); } } if (ObjSelf != null) { tableName = ObjSelf.GetType().Name; GenerateHelper.PartialCopyFromCAD(objDev, ObjSelf, 198); if (GenerateHelper.Atff.self != null && ObjSelf.CompareProperties(GenerateHelper.Atff.self).Any()) { if (ObjSelf.EntityState == EntityState.None) { ObjSelf.EntityState = EntityState.Update; } DBManager.Instance.Update(ObjSelf); } } if (ObjGnwz != null) { tableName = ObjGnwz.GetType().Name; if (flag) { string mc = ObjGnwz.MC; GenerateHelper.PartialCopyFromCAD(objDev, ObjGnwz, 198); ObjGnwz.MC = mc; } else { GenerateHelper.PartialCopyFromCAD(objDev, ObjGnwz, 198); ObjGnwz.SetAttribute("MC", GenerateHelper.GetPropertyValue((XProps)pgSwitchCabinet.SelectedObject, "Common_n", "SBMC")); } if (GenerateHelper.Atff.gnwz != null && ObjGnwz.CompareProperties(GenerateHelper.Atff.gnwz).Any()) { if (ObjGnwz.EntityState == EntityState.None) { ObjGnwz.EntityState = EntityState.Update; } DBManager.Instance.Update(ObjGnwz); } } } catch (UpdataArgumentException ee) { CommonHelp.Instance.ShowErrorMsg(); GenerateHelper.SetPropertyValue(objDev, tableName, ee.FieldName, null); } }
/// <summary> /// 按表逐个更新属性 /// </summary> /// <param name="CurPropertyObj"></param> /// <param name="rdt"></param> /// <param name="g3e_fno"></param> /// <param name="flag">是否是批量修改公共属性</param> private void RefAttribute(XProps CurPropertyObj, RequiredDevTables rdt, int g3e_fno, bool flag) { var tablename = string.Empty; try { if (rdt.ComObj != null) { tablename = rdt.ComObj.GetType().Name; GenerateHelper.PartialCopyFromCAD(CurPropertyObj, rdt.ComObj, g3e_fno); if (GenerateHelper.Atff.com != null && rdt.ComObj.CompareProperties(GenerateHelper.Atff.com).Any()) { if (rdt.ComObj.EntityState == EntityState.None) { rdt.ComObj.EntityState = EntityState.Update; } DBManager.Instance.Update(rdt.ComObj); } } if (!flag) { #region 如果是批量修改公共属性表就只针对公共属性表做修改别的表不处理 if (rdt.SelfObj != null) { tablename = rdt.SelfObj.GetType().Name; GenerateHelper.PartialCopyFromCAD(CurPropertyObj, rdt.SelfObj, g3e_fno); if (GenerateHelper.Atff.self != null && rdt.SelfObj.CompareProperties(GenerateHelper.Atff.self).Any()) { if (rdt.SelfObj.EntityState == EntityState.None) { rdt.SelfObj.EntityState = EntityState.Update; } DBManager.Instance.Update(rdt.SelfObj); } } if (rdt.ConnectObj != null) { tablename = rdt.ConnectObj.GetType().Name; GenerateHelper.PartialCopyFromCAD(CurPropertyObj, rdt.ConnectObj, g3e_fno); if (GenerateHelper.Atff.connectivity != null && rdt.ConnectObj.CompareProperties(GenerateHelper.Atff.connectivity).Any()) { if (rdt.ConnectObj.EntityState == EntityState.None) { rdt.ConnectObj.EntityState = EntityState.Old_Nal_Nal; } DBManager.Instance.Update(rdt.ConnectObj); } } if (rdt.GnwzObj != null) { tablename = rdt.GnwzObj.GetType().Name; GenerateHelper.PartialCopyFromCAD(CurPropertyObj, rdt.GnwzObj, g3e_fno); if (g3e_fno == 199) { rdt.GnwzObj.GNWZ_SSTJ = rdt.ComObj != null ? rdt.ComObj.SBMC : null; } if (g3e_fno == 198) { rdt.GnwzObj.MC = rdt.ComObj != null ? rdt.ComObj.SBMC : null; } if (GenerateHelper.Atff.gnwz != null && rdt.GnwzObj.CompareProperties(GenerateHelper.Atff.gnwz).Any()) { if (rdt.GnwzObj.EntityState == EntityState.None) { rdt.GnwzObj.EntityState = EntityState.Update; } DBManager.Instance.Update(rdt.GnwzObj); } } #endregion } SymbolLabel.ShowSymbolLabel(rdt.Fno, rdt.Fid); //更新的时候自动更新标注 } catch (UpdataArgumentException ee) { throw new UpdataArgumentException(tablename, ee.FieldName); } finally { if (RefreshFeatureAttributeEvent != null) { RefreshFeatureAttributeEvent(null, new RefreshAttributeArgs { Rdt = rdt }); } } }