You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
158 lines
5.6 KiB
158 lines
5.6 KiB
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<string, System.Data.DataTable> Keys = new Dictionary<string, System.Data.DataTable>(); |
|
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<InterlligentEntity> _GeoOverList = new ObservableCollection<InterlligentEntity>(); |
|
//private ObservableCollection<InterlligentEntity> GeoOverList |
|
//{ |
|
// get { |
|
// return _GeoOverList; |
|
// } |
|
// set |
|
// { |
|
// SetProperty(ref GeoOverList, value); |
|
// } |
|
//} |
|
//ObservableCollection<InterlligentEntity> GeoOverList = new ObservableCollection<InterlligentEntity>(); |
|
//ObservableCollection<InterlligentEntity> CheckList = new ObservableCollection<InterlligentEntity>(); |
|
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(), |
|
// } |
|
// ); |
|
//} |
|
} |
|
} |
|
}
|
|
|