123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Drawing;
- using System.Data;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- using WWPipeLine.MapBasic.Conditions;
- using WeifenLuo.WinFormsUI.Docking;
- using SuperMap.UI;
- using SuperMap.Mapping;
- using SuperMap.Data;
- using WWPipeLine.MapBasic;
- using Sunny.UI;
- namespace WWPipeLine.MapTools.Conditions.EditGuanWang
- {
- public partial class GuanXianXiuGai : ConditionPanel
- {
- private Recordset rd = null;
- private Selection[] _selection;
- public int statusPat = 0;
- public GuanXianXiuGai()
- {
- this.ConditionPanelName = "管线属性修改";
- InitializeComponent();
- this.IsShowResultWindow = false;
- }
- protected override void OnLoad(EventArgs e)
- {
- ComsStatic.SetLayersIsSelectableFalse(ComsStatic.gsGuanXian.Name, true);
- MapControl.GeometrySelected += MapControl_GeometrySelected;
- MapControl.Action = SuperMap.UI.Action.Select;
- }
- private void MapControl_GeometrySelected(object sender, GeometrySelectedEventArgs e)
- {
- _selection = MapControl.Map.FindSelection(true);
- if (_selection.Length != 1 || _selection[0].Count != 1)
- {
- Sunny.UI.UIMessageTip.ShowError("仅可以选择一根管线进行操作"); return;
- }
- rd = _selection[0].ToRecordset();
- if (rd.Dataset.Name != ComsStatic.gsGuanXian.Name)
- {
- Sunny.UI.UIMessageTip.ShowError("仅可以选择供水管线图层!"); return;
- }
- rd.MoveFirst();
- uitb_bsm.Text = rd.GetString("bsm");
- uitb_zcbh.Text = rd.GetString("zcbh");
- uitbGdbh.Text = rd.GetString("gdbh");
- uitb_tz.Text = rd.GetString("tz");
- uitb_cz.Text = rd.GetString("cz");
- uitb_gj.Text = rd.GetString("gj");
- uitb_yl.Text = rd.GetString("yl");
- uitb_cd.Text = rd.GetFieldValue("cd").ToString();
- uitb_msfs.Text = rd.GetString("msfs");
- uidp_msrq.Text = rd.GetString("msrq");
- uitb_dzms.Text = rd.GetString("dzms");
- uitb_qsdw.Text = rd.GetString("qsdw");
- uitb_tcdw.Text = rd.GetString("tcdw");
- uitb_bz.Text = rd.GetString("bz");
- }
- public override object Do(DockPanel dockPanel = null)
- {
- if (rd is null || rd.RecordCount != 1)
- {
- Sunny.UI.UIMessageTip.ShowError("仅可以选择一根管线进行操作"); return false;
- }
- if (statusPat == 2)//废弃
- {
- rd.Edit();
- rd.SetFieldValue("enabled", 0);
- ComsStatic.ShowUIMessageTipOKorError(rd.Update(), "管线废弃", uitb_zcbh.Text);
- }
- if (statusPat == 1)//删除
- {
- ComsStatic.ShowUIMessageTipOKorError(rd.Delete(), "管线删除", uitb_zcbh.Text);
- }
- if (statusPat == 0)//修改
- {
- double gxcd = rd.GetDouble("cd");
- double shap = rd.GetDouble("shape_length");
- if (gxcd > shap * 1.2 || gxcd < shap * 0.8)
- { Sunny.UI.UIMessageTip.ShowError("请输入正确的管线长度" ); return false; }
-
- rd.Edit();
- rd.SetFieldValue("zcbh", uitb_zcbh.Text);
- rd.SetFieldValue("gdbh", uitbGdbh.Text);
- rd.SetFieldValue("tz", uitb_tz.Text);
- rd.SetFieldValue("cz", uitb_cz.Text);
- rd.SetFieldValue("gj", ComsStatic.StringToInt16(uitb_gj.Text));
- rd.SetFieldValue("yl", ComsStatic.StringToDouble(uitb_yl.Text));
- rd.SetFieldValue("cd", ComsStatic.StringToDouble(uitb_cd.Text));
- rd.SetFieldValue("msfs", uitb_msfs.Text);
- if (!string.IsNullOrEmpty(uidp_msrq.Text))
- rd.SetFieldValue("msrq", Convert.ToDateTime(uidp_msrq.Text));
- rd.SetFieldValue("dzms", uitb_dzms.Text);
- rd.SetFieldValue("qsdw", uitb_qsdw.Text);
- rd.SetFieldValue("tcdw", uitb_tcdw.Text);
- rd.SetFieldValue("bz", uitb_bz.Text);
- ComsStatic.ShowUIMessageTipOKorError(rd.Update(), "管线修改", uitb_zcbh.Text);
- }
- _selection[0].Clear();
- rd = null;
- MapControl.Map.Refresh();
- uitb_bsm.Text = ""; uitb_zcbh.Text = "";
- uitbGdbh.Text = ""; uitb_tz.Text = ""; uitb_cz.Text = ""; uitb_gj.Text = ""; uitb_yl.Text = ""; uitb_cd.Text = "";
- uitb_msfs.Text = ""; uidp_msrq.Text = ""; uitb_dzms.Text = ""; uitb_qsdw.Text = ""; uitb_tcdw.Text = ""; uitb_bz.Text = "";
- return null;
- }
- public override void AfterClose()
- {
- MapControl.GeometrySelected -= MapControl_GeometrySelected;
- ComsStatic.RecordsetDispose(rd);
- base.AfterClose();
- }
- }
- }
|