using ESRI.ArcGIS.Carto; using ESRI.ArcGIS.Geometry; using Kingo.Plugin.EngineEditor.Entity; using ReactiveUI; using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Data; using System.Windows.Forms; using KGIS.Framework.Utils; namespace Kingo.Plugin.EngineEditor.ViewModel { public class InterlligentData2ViewModel : ReactiveObject, IScreen { public RoutingState Router => throw new NotImplementedException(); Dictionary Keys = new Dictionary(); private IFeatureLayer _featureLayer; private int _iGeoOverRecordTotal;//图斑压盖情况 记录显示总数 public int iGeoOverRecordTotal { get => _iGeoOverRecordTotal; set => this.RaiseAndSetIfChanged(ref _iGeoOverRecordTotal, value); } private int _iCheckRecordTotal;//图形规范性 记录显示总数 public int iCheckRecordTotal { get => _iCheckRecordTotal; set => this.RaiseAndSetIfChanged(ref _iCheckRecordTotal, value); } private DataTable _GeoOverTable; public DataTable GeoOverTable { get { return _GeoOverTable; } set { this.RaiseAndSetIfChanged(ref _GeoOverTable, value); } } private DataTable _CheckTable; public DataTable CheckTable { get { return _CheckTable; } set { this.RaiseAndSetIfChanged(ref _CheckTable, value); } } //ObservableCollection _GeoOverList = new ObservableCollection(); //private ObservableCollection GeoOverList //{ // get { // return _GeoOverList; // } // set // { // SetProperty(ref GeoOverList, value); // } //} //ObservableCollection GeoOverList = new ObservableCollection(); //ObservableCollection CheckList = new ObservableCollection(); private string _lableTitle = "检查通过"; public IGeometry Geometry { set { //白明雅 2020-04-10 图层授权验证 //if (!KGIS.Framework.Common.Utils.LicenseManager.Region(value)) //{ // MessageBox.Show("图斑不在授权范围内!"); // return; //} Keys = Unit.GeoOverCheck.GetData(value, FeatureLayer); if (Keys["图形规范性"].Select("是否通过='不通过'").Count() > 0) { lableTitle = "检查未通过"; } else lableTitle = "检查通过"; GeoOverTable = Keys["图斑压盖"]; CheckTable = Keys["图形规范性"]; if (GeoOverTable == null || GeoOverTable.Rows.Count <= 0) { iGeoOverRecordTotal = 0; } else { iGeoOverRecordTotal = GeoOverTable.Rows.Count; } if (CheckTable == null || CheckTable.Rows.Count <= 0) { iCheckRecordTotal = 0; } else { iCheckRecordTotal = CheckTable.Rows.Count; } //SetGeoOver(Keys["图斑压盖"]); //SetCheck(Keys["图形规范性"]); } } public IFeatureLayer FeatureLayer { get => _featureLayer; set { _featureLayer = value; //白明雅 2020-04-10 图层授权验证 //if (!KGIS.Framework.Common.Utils.LicenseManager.Region(_featureLayer.FeatureClass)) //{ // MessageBox.Show(_featureLayer.Name + "图层不在授权范围内!"); // return; //} } } public string lableTitle { get => _lableTitle; set { _lableTitle = value; this.RaiseAndSetIfChanged(ref _lableTitle, value); } } public void SetGeoOver(System.Data.DataTable table) { //GeoOverList.Clear(); //foreach (DataRow row in table.Rows) //{ // GeoOverList.Add( // new InterlligentEntity() { // OID= row["OBJECTID"].ToString(), // DLBM = row["DLBM"].ToString(), // DLMC = row["DLMC"].ToString(), // AREA = row["TBMJ"].ToString(), // } // ); //} } public void SetCheck(System.Data.DataTable table) { //CheckList.Clear(); //if (table.Select("是否通过='不通过'").Count() > 0) //{ // lableTitle = "检查未通过"; //}else // lableTitle = "检查通过"; //foreach (DataRow row in table.Rows) //{ // CheckList.Add( // new InterlligentEntity() // { // OID = row["检查项"].ToString(), // DLBM = row["值"].ToString(), // DLMC = row["是否通过"].ToString(), // } // ); //} } } }