private void SetText(Common_n com) { if (com != null) { // FID tb_fid.Text = com.G3E_FID.ToString(); // 名称 tb_mc.Text = com.SBMC; tj_name = com.SBMC; //// 所属单位 //cb_ssdw.Text = com.CD_SSDW; //// 所属变电站 //cb_ssbdz.Text = com.CD_SSBDZ; //// 所属线路 //cb_ssxl.Text = com.CD_SSXL; //// 电压等级 //cb_dydj.Text = com.CD_DYDJ; //// 生命周期 //cb_smzq.Text = com.CD_SMZQ; //// 所属供电所 //cb_ssgds.Text = com.GNWZ_SSGDS; //台架下所挂的设备 var str_devs = tj_devs_comm.Aggregate("", (current, d) => current + (d.G3E_FID + ":" + d.G3E_FNO + ":" + d.SBMC + "\n")); rtb_sgsb.Text = str_devs; } }
/// <summary> /// 显示设备GIS功能属性表 /// </summary> /// <param name="fid">设备FID</param> public static bool ShowDeviceAttributeByFid(long fid) { Common_n device_common = DBManager.Instance.GetEntities <Common_n>(o => o.G3E_FID == fid).FirstOrDefault(); if (device_common != null) { if (device_common.EntityState == EntityState.Delete) { MessageBox.Show("抱歉,您要查找的设备已被删除咯!!!", "CAD警告", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1); return(false); } if (device_common.G3E_FNO == 198) { MessageBox.Show("请到开关柜管理界面修改.", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1); return(false); } if (AttributeQuery(device_common.G3E_FNO, fid) == RetureValueCheck.LoadDialogSuccess) { return(true); } } else { return(NoCommonAttributeQuery(fid)); } return(false); }
/// <summary> /// 新增受电馈线 /// </summary> /// <param name="dbEntity"></param> /// <returns>返回G3e_id</returns> public static long InsertSDKX(Common_n dbEntity) { try { var cid = DBEntityFinder.Instance.GetSdkxCount(dbEntity.G3E_FID); cid++; var g3eid = CYZCommonFunc.getid(); var newEnt = new Gg_pd_sdkx_ac { G3E_ID = g3eid, G3E_FID = dbEntity.G3E_FID, G3E_FNO = dbEntity.G3E_FNO, G3E_CID = cid, G3E_CNO = 14904, LTT_DATE = dbEntity.LTT_DATE, LTT_ID = MapConfig.Instance.LTTID, LTT_STATUS = dbEntity.LTT_STATUS, LTT_TID = dbEntity.LTT_TID, SCM_DID = dbEntity.SCM_DID, GDBDZ = dbEntity.CD_SSBDZ, KXH = dbEntity.CD_SSXL, EntityState = EntityState.Insert }; DBManager.Instance.Insert(newEnt); return(newEnt.G3E_ID); } catch (Exception ex) { LogManager.Instance.Error(ex); } return(0); }
private static void Main(string[] args) { Stopwatch w = new Stopwatch(); w.Start(); var path = Path.Combine(@"..\..\..\..\..\文档\数据包", "dbcad_201308093.xml"); var newPath = Path.ChangeExtension(path, "inv"); File.WriteAllBytes(newPath, File.ReadAllBytes(path).Inverse()); w.Stop(); Expression <Func <Student, string> > expr = o => o.Name; var parameterExpr = Expression.Parameter(typeof(Common_n), "test"); var propertyExpr = Expression.Property(parameterExpr, "G3E_ID"); var f0 = Expression.Lambda(propertyExpr, parameterExpr); //var i = Expression.Call(parameterExpr, typeof(Student).GetProperty("Name").GetGetMethod(true)); var f1 = Expression.Lambda <Func <Common_n, Int64> >(propertyExpr, parameterExpr); var func = expr.Compile(); var result = func(new Student { Name = "jack" }); var method = f1.Compile(); Common_n n = new Common_n { G3E_ID = 1L }; Stopwatch watch1 = new Stopwatch(); Stopwatch watch2 = new Stopwatch(); Stopwatch watch3 = new Stopwatch(); watch1.Start(); for (int index = 0; index < 1000000; index++) { var result1 = n.G3E_ID;//ExpressionEvaluator.GetValue(n, "G3E_ID"); } watch1.Stop(); watch2.Start(); for (int index = 0; index < 1000000; index++) { var result2 = n.GetValue("G3E_ID"); } watch2.Stop(); var student = new Student { Name = "jack" }; watch3.Start(); for (int index = 0; index < 1000000; index++) { var result2 = method(n); } watch3.Stop(); var result3 = n.GetValue("G3E_FID"); Console.WriteLine(watch1.Elapsed); Console.WriteLine(watch2.Elapsed); Console.WriteLine(watch3.Elapsed); Console.ReadLine(); }
private void SetText(Common_n com) { if (com != null) { textBox_DF_FID.Text = com.G3E_FID.ToString(); textBox_DF_OLDNAME.Text = com.SBMC; } }
/// <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="com"></param> /// <returns></returns> public static bool UpdateCommon(Common_n com) { try { var newObj = com.Clone() as Common_n; //只有原始数据才改变状态 if (newObj.EntityState == EntityState.None) { newObj.EntityState = EntityState.Update; } DBManager.Instance.Update(newObj); return(true); } catch { return(false); } }
/// <summary> /// 初始化出厂日期 /// </summary> /// <param name="common"></param> private void SetTYRQ(Common_n common) { try { if (common.TYRQ != null) { tbTYRQ.Value = (DateTime)common.TYRQ; } }catch { // 初始化出厂日期 if (String.IsNullOrEmpty(tbTYRQ.Text)) { tbTYRQ.Value = DateTime.Now; } } }
/// <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); } }
private List <SyncRecord> SyncDataFrom(List <TzTableValue> tzValues, RequiredDevTables rdt) { List <SyncRecord> syncRecords = new List <SyncRecord>(); foreach (var field in tzValues) { if (string.IsNullOrEmpty(field.TableName)) { continue; } switch (field.TableName) { case "COMMON_N": { Common_n com = rdt.ComObj; if (com != null) { syncRecords.Add(new SyncRecord { TableName = field.TableName, Fields = SyncDataToModel(field, com) }); } } break; case "CONNECTIVITY_N": { var connectivity = rdt.ConnectObj; if (connectivity != null) { syncRecords.Add(new SyncRecord { TableName = field.TableName, Fields = SyncDataToModel(field, connectivity) });; } } break; case "GG_PD_GNWZMC_N": { var gnwz = rdt.GnwzObj; if (gnwz != null) { syncRecords.Add(new SyncRecord { TableName = field.TableName, Fields = SyncDataToModel(field, gnwz) }); } } break; default: { DBEntity self = rdt.SelfObj; if (self != null) { syncRecords.Add(new SyncRecord { TableName = field.TableName, Fields = SyncDataToModel(field, self) }); } } break; } } return(syncRecords); }
/// <summary> /// 根据安装位置判断是否做从属 /// </summary> /// <param name="comm"></param> /// <param name="fcomm"></param> public static String BelongByAZWZ(Common_n comm, Common_n fcomm) { var str_err = ""; switch (comm.G3E_FNO) { case 146: //10kV开关 { var dlt = DBManager.Instance.GetEntity <Gg_pd_zfhwg_n>(comm.G3E_FID).DLT; //1 户内 62452 //2 户外 46718 //3 柱上 46041 //4 箱式 27373 //5 房内 1217 //6 房外 29 //201电杆//142公用电房//163专用电房//149箱式设备//198开关柜//199台架 } break; #region 变压器 case 148: { var fl = DBManager.Instance.GetEntity <Gg_pd_gnwzmc_n>(comm.G3E_FID).GNWZ_FL2; switch (fl) { case "": { str_err = "请选择安装位置!"; } break; case "台架": { if (fcomm.G3E_FNO != 201) { str_err = "台架只能从属于杆塔!"; } } break; case "箱式": { if (fcomm.G3E_FNO != 149) { str_err = "当前安装位置只能从属于箱式设备!"; } } break; case "房内": { if (fcomm.G3E_FNO == 149 || fcomm.G3E_FNO == 201) { str_err = "当前安装位置只能从属于电房!"; } } break; } } #endregion break; case 177: //避雷器 { var azwz = DBManager.Instance.GetEntity <Gg_pd_blq_n>(comm.G3E_FID).AZWZ; //房外//柱上//户外//198开关柜//149箱式设备//201电杆//163专用电房//199台架//142公用电房 } break; case 81: //低压柜 break; case 82: //高压表 break; case 84: //计量柜 break; case 90: //DTU break; case 180: //FTU break; case 307: //电压互感器 break; } return(str_err); }
private void btn_JLBmove_Click(object sender, EventArgs e) { try { // 提示文字颜色 lb_JLBWarn.Text = ""; lb_JLBWarn.ForeColor = Color.Red; // 输入文本框是否为空 if (string.IsNullOrEmpty(tx_JLBYDH.Text)) { lb_JLBWarn.Text = "用户号不能为空."; return; } // 迁移户表的自身属性表 var temp_jlbn = DBManager.Instance.GetEntities <Gg_pd_jlb_n>(o => o.YHH == tx_JLBYDH.Text.Trim()).FirstOrDefault(); if (temp_jlbn == null) { lb_JLBWarn.Text = "用户号不存在."; return; } // 计量表的设备类型 SBLX = temp_jlbn.CD_SBLX; // 迁移计量表的g3e_fid g3e_Fid = temp_jlbn.G3E_FID; // 得到迁移计量表的坐标表 var temp_jlbpt = DBManager.Instance.GetEntities <Gg_jx_jlb_pt>( o => o.G3E_FID == temp_jlbn.G3E_FID && o.EntityState != EntityState.Delete).FirstOrDefault(); if (temp_jlbpt == null) { lb_JLBWarn.Text = "该用户号的计量表坐标表不存在."; return; } // 判断是否在当前集抄箱 if (temp_jlbpt.G3E_DETAILID == g3e_detailId) { lb_JLBWarn.Text = "该用户号的计量表表已在此详图中."; return; } // 取出需要被迁移计量表的详表数据 var temp_detail = DBManager.Instance.GetEntities <Detailreference_n>( o => o.G3E_DETAILID == temp_jlbpt.G3E_DETAILID && o.EntityState != EntityState.Delete) .FirstOrDefault(); if (temp_detail == null) { lb_JLBWarn.Text = "该用户号的户表详表数据不存在."; return; } // 判断需要被迁移的计量表的详图是否被锁定 var isLock = DBEntityFinder.Instance.VerifyLTTID(temp_detail.G3E_FID); if (!isLock) { lb_JLBWarn.Text = "户表所属抄表箱没有被工单锁定,不能迁移!"; return; } var str = "户名: " + temp_jlbn.HM + "\n" + "用户号: " + temp_jlbn.YHH + "\n" + "表号: " + temp_jlbn.BH + "\n" + "确定要迁移?"; // 搜索成功,弹出提示框 var res = MessageBox.Show(str, @"确定?", MessageBoxButtons.OKCancel); if (res == DialogResult.Cancel) { return; } // 迁移户表操作 // 1 更改户表的detailID temp_jlbpt.G3E_DETAILID = g3e_detailId; if (temp_jlbpt.EntityState != EntityState.Insert) { temp_jlbpt.EntityState = EntityState.Update; } // 2 得到户表的FID // 3 保持与当前详图的所属线路、单位一致 var temp_detail_comm = DBManager.Instance.GetEntities <Common_n>( o => o.G3E_FID == temp_detail.G3E_FID && o.EntityState != EntityState.Delete).FirstOrDefault(); Common_n temp_jlb_comm = null; if (temp_detail_comm != null) { temp_jlb_comm = DBManager.Instance.GetEntities <Common_n>( o => o.G3E_FID == g3e_Fid && o.EntityState != EntityState.Delete).FirstOrDefault(); if (temp_jlb_comm != null) { temp_jlb_comm.CD_SSDW = temp_detail_comm.CD_SSDW; temp_jlb_comm.CD_SSXL = temp_detail_comm.CD_SSXL; if (temp_jlb_comm.EntityState != EntityState.Insert) { temp_jlb_comm.EntityState = EntityState.Update; } } } // 4 更改户表的坐标 if (!UpdateSdo(temp_jlbn.G3E_FID, move_pt)) { PublicMethod.Instance.AlertDialog("迁移失败!\n"); return; } DBManager.Instance.Update(temp_jlbpt); DBManager.Instance.Update(temp_jlb_comm); PublicMethod.Instance.AlertDialog("迁移成功!\n"); DialogResult = DialogResult.OK; Close(); } catch (NotExistException ex) { PublicMethod.Instance.NotExistTable(ex); } catch (Exception exception) { PublicMethod.Instance.ShowMessage(exception.Message); } }