/// <summary> /// 得到变压器、台架、级联设备的功能位置与公共属性 /// </summary> /// <param name="BYQFid">变压器G3E_FID</param> /// <returns></returns> private bool GetDevsByBYQFid(long BYQFid) { try { byq_gnwz = null; // 得到变压器的功能位置 byq_gnwz = DBManager.Instance.GetEntities <Gg_pd_gnwzmc_n>(o => o.G3E_FID == BYQFid).FirstOrDefault(); if (byq_gnwz != null) { long tj_fid; long.TryParse(byq_gnwz.GNWZ_SSTJ, out tj_fid); // 得到台架的功能位置 tj_gnwz = null; tj_gnwz = DBManager.Instance.GetEntities <Gg_pd_gnwzmc_n>(o => o.G3E_FID == tj_fid).FirstOrDefault(); if (tj_gnwz != null) { tj_comm = null; tj_comm = DBManager.Instance.GetEntities <Common_n>(o => o.G3E_FID == tj_gnwz.G3E_FID).FirstOrDefault(); tj_devs_gnwz = null; // 得到台架级联设备的功能位置 tj_devs_gnwz = DBManager.Instance.GetEntities <Gg_pd_gnwzmc_n>(o => o.GNWZ_SSTJ == tj_gnwz.G3E_FID.ToString()); if (tj_devs_gnwz != null && tj_devs_gnwz.Any()) { tj_devs_comm.Clear(); // 得到台架级联设备的公共属性 tj_devs_comm.AddRange( tj_devs_gnwz.Select(d => DBManager.Instance.GetEntity <Common_n>(d.G3E_FID)) .Where(dc => dc != null)); return(true); } } else { PublicMethod.Instance.ShowMessage("此变压器没有台架信息。\n"); } } else { PublicMethod.Instance.ShowMessage("此变压器没有功能位置信息。\n"); } return(false); } catch (NotExistException ex) { PublicMethod.Instance.NotExistTable(ex); return(GetDevsByBYQFid(BYQFid)); } }
/// <summary> /// 更新功能位置表 /// </summary> /// <param name="gnwz"> </param> /// <returns></returns> public static bool UpdateGNWZ(Gg_pd_gnwzmc_n gnwz) { try { var newObj = gnwz.Clone() as Gg_pd_gnwzmc_n; //只有原始数据才改变状态 if (newObj != null && newObj.EntityState == EntityState.None) { newObj.EntityState = EntityState.Update; } DBManager.Instance.Update(newObj); return(true); } catch { return(false); } }
/// <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); } }