using ESRI.ArcGIS.Geodatabase; using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Kingo.PluginServiceInterface { public delegate void CheckDataPr(List Result, CheckParametr pParm); public interface IDataCheckHelper { IDataCheck IDataCheck { get; set; } void DataCheckByThread(CheckParametr pParm); void DataCheck(CheckParametr pParm); //event CheckDataPr DataCheckComplate; List IdataChecks { get; set; } } public interface IDataCheck { string IDataCheckName { get; } event CheckDataPr DataCheckComplate; void FeatureCheck(object pParm); void FeatureClassCheck(object pParm); } /// /// /// public class CheckParametr { public enumCheckType CheckType { get; set; } public object DataSource { get; set; } public string IDataCheckName { get; set; } public List CheckResults { get; set; } public string RuleName { get; set; } } public class BaseNotifyProperty : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; public void NotifyProperty(object obj, string PropertyName) { PropertyChanged?.Invoke(obj, new PropertyChangedEventArgs(PropertyName)); } } public class CheckResult : BaseNotifyProperty { public object CheckData { get; set; } public int ID { get; set; } private string _Icon; public string Icon { get { return _Icon; } set { _Icon = value; base.NotifyProperty(this, "Icon"); } } //错误类型(错误/警告...) private EnumErrorType _ErrorType; public EnumErrorType ErrorType { get { return _ErrorType; } set { _ErrorType = value; base.NotifyProperty(this, "ErrorType"); Icon = string.Format("pack://siteoforigin:,,,/Images/{0}.{1}", value.ToString(), "png"); } } public string ErrorLayer { get; set; } //错误编码 public string ErrorCode { get; set; } //错误描述 public string ErrorDesc { get; set; } //OID public int ObjectID { get; set; } //错误图形 public string ErrorArea { get; set; } //摘要 public string Synopsis { get; set; } //错误类别(图形错误/属性错误) public string ErrorCategory { get; set; } } public enum EnumErrorType { 警告 = 0, 错误 = 1, 例外 = 2, 已修复 = 3 } public enum enumCheckType { Default = 0, Attribute = 2, Graphic = 4 } }