public List <BaseModel> Search(BaseModel AEOModel, string AOWhereClause, BaseModel.LoadMethod ChooseMethod) { List <BaseModel> _ModelsReturn = new List <BaseModel>(); IQueryFilter _queryParamns = new QueryFilter(); _queryParamns.WhereClause = AOWhereClause; IFeatureCursor _rows = ((IFeatureWorkspace)_workspace).OpenFeatureClass(AEOModel.EntityName).Search(_queryParamns, true); IFeature _feature = _rows.NextFeature(); while (_feature != null) { object[] _parameters = { _workspace }; var _model = Activator.CreateInstance(AEOModel.GetType(), _parameters); foreach (ModelProperty _property in AEOModel.ModelProperties.Where(x => !(x.Attribute is EntityShapeFieldAttribute))) { _property.Attribute.Load(_workspace, _feature, (BaseModel)_model, _property, ChooseMethod); } ((GISModel)_model).Geometry = _feature.ShapeCopy; _ModelsReturn.Add((BaseModel)_model); _feature = _rows.NextFeature(); } return(_ModelsReturn); }
public void Load(BaseModel BaseModel, int KeyFieldValue, BaseModel.LoadMethod ChooseLoadMethod) { string _WhereClause = BaseModel.KeyField + "=" + KeyFieldValue; string _fields = ""; foreach (ModelProperty _property in BaseModel.ModelProperties.Where(x => !(x.Attribute is EntityManyToManyFieldAttribute))) { _fields += _property.Attribute.FieldName + ","; } _fields = _fields.Substring(0, _fields.Length - 1); ESRI.ArcGIS.Geodatabase.IQueryDef2 queryDef = (ESRI.ArcGIS.Geodatabase.IQueryDef2)((IFeatureWorkspace)_workspace).CreateQueryDef(); queryDef.Tables = BaseModel.EntityName; queryDef.SubFields = _fields; queryDef.WhereClause = _WhereClause; ICursor _rows = queryDef.Evaluate(); IRow _row = _rows.NextRow(); if (_row != null) { foreach (ModelProperty _property in BaseModel.ModelProperties) { _property.Attribute.Load(_workspace, _row, BaseModel, _property, ChooseLoadMethod); } } }
public List <BaseModel> Search(BaseModel BaseModel, string AOWhereClause, BaseModel.LoadMethod ChooseLoadMethod) { List <BaseModel> _ModelsReturn = new List <BaseModel>(); string _fields = ""; foreach (ModelProperty _property in BaseModel.ModelProperties.Where(x => !(x.Attribute is EntityManyToManyFieldAttribute))) { _fields += _property.Attribute.FieldName + ","; } _fields = _fields.Substring(0, _fields.Length - 1); ESRI.ArcGIS.Geodatabase.ITable tbProjeto = ((IFeatureWorkspace)_workspace).OpenTable(BaseModel.EntityName); ICursor _rows = GDBCursor.obterCursor(tbProjeto, _fields, AOWhereClause, ""); IRow _row; while ((_row = _rows.NextRow()) != null) { object[] _parameters = { _workspace }; BaseModel _model = (BaseModel)Activator.CreateInstance(BaseModel.GetType(), _parameters); foreach (ModelProperty _property in BaseModel.ModelProperties) { _property.Attribute.Load(_workspace, _row, (BaseModel)_model, _property, ChooseLoadMethod); } _ModelsReturn.Add((BaseModel)_model); } return(_ModelsReturn); }
public void Load(BaseModel BaseModel, int KeyFieldValue, BaseModel.LoadMethod ChooseLoadMethod) { if (String.IsNullOrEmpty(BaseModel.KeyField)) { throw new KeyFieldNotFoundException(); } IQueryFilter _queryParamns = new QueryFilter(); _queryParamns.WhereClause = BaseModel.KeyField + "=" + KeyFieldValue; ICursor _rows = ((IFeatureWorkspace)_workspace).OpenTable(BaseModel.EntityName).Search(_queryParamns, true); IRow _row = _rows.NextRow(); if (_row != null) { foreach (ModelProperty _property in BaseModel.ModelProperties.Where(x => !(x.Attribute is EntityShapeFieldAttribute))) { _property.Attribute.Load(_workspace, _row, BaseModel, _property); } } }
public void Load(IWorkspace Workspace, IFeature Feature, BaseModel BaseModel, ModelProperty Property, BaseModel.LoadMethod ChooseLoadMethod) { this.Load(Workspace, Feature, BaseModel, Property); }
public virtual void Load(IWorkspace Workspace, IRow Row, BaseModel BaseModel, ModelProperty Property, BaseModel.LoadMethod ChooseLoadMethod) { this.Load(Workspace, Row, BaseModel, Property); }
public void Load(IWorkspace Workspace, IFeature Feature, BaseModel BaseModel, ModelProperty Property, BaseModel.LoadMethod ChooseLoadMethod) { if (ChooseLoadMethod == BaseModel.LoadMethod.Lazy) { return; } this.Load(Workspace, Feature, BaseModel, Property); }
public List <BaseModel> Search(BaseModel AEOModel, string AOWhereClause, BaseModel.LoadMethod ChooseMethod) { throw new NotImplementedException(); }
public void Load(ESRI.ArcGIS.Geodatabase.IWorkspace Workspace, ESRI.ArcGIS.Geodatabase.IRow Row, BaseModel BaseModel, ModelProperty Property, BaseModel.LoadMethod ChooseLoadMethod) { if (BaseModel.LoadMethod.Lazy == ChooseLoadMethod) { return; } this.Load(Workspace, Row, BaseModel, Property); }
public void Load(ESRI.ArcGIS.Geodatabase.IWorkspace _workspace, ESRI.ArcGIS.Geodatabase.IRow _row, BaseModel BaseModel, ModelProperty _property, BaseModel.LoadMethod ChooseLoadMethod) { this.Load(_workspace, _row, BaseModel, _property); }