public virtual IList LoadFromDatabase(Type typeToLoad, SpringBaseDao baseDao, IDictionary <string, DbAppendSelectWhereClause> appendSelectWhereClauses) { MappingContext mappingContext = MappingContext.GetMappingContext(typeToLoad); BuildObjectSql(mappingContext.ObjectPaths, baseDao); string objectPath = typeToLoad.FullName; IList rtnList = null; baseDao.AdoTemplate.ClassicAdoTemplate.Execute(delegate(IDbCommand command) { IList list = LoadFromDatabase(typeToLoad, objectPath, appendSelectWhereClauses, mappingContext, command); if (list != null) { rtnList = list; foreach (object obj in rtnList) { IAfterLoadFromDatabase afterLoadFromDatabase = obj as IAfterLoadFromDatabase; if (afterLoadFromDatabase != null) { afterLoadFromDatabase.AfterLoadFromDatabase(); } } } return(null); }); return(rtnList); }
public virtual void AfterLoadFromDatabase() { CollectionUtils.ForEach(Items, delegate(object item) { IAfterLoadFromDatabase afterLoadFromDatabase = item as IAfterLoadFromDatabase; if (afterLoadFromDatabase != null) { afterLoadFromDatabase.AfterLoadFromDatabase(); } }); }
public virtual IList LoadFromDatabase(Type typeToLoad, SpringBaseDao baseDao, IDictionary <string, DbAppendSelectWhereClause> appendSelectWhereClauses, Type mappingAttributesType) { MappingContext mappingContext = MappingContext.GetMappingContext(typeToLoad, mappingAttributesType); BuildObjectSql(mappingContext, baseDao); Dictionary <object, IList> list = null; baseDao.AdoTemplate.ClassicAdoTemplate.Execute(delegate(IDbCommand command) { ColumnCachedValues cachedValues = new ColumnCachedValues(); list = LoadObjectInstancesToList(typeToLoad, null, null, appendSelectWhereClauses, cachedValues, mappingContext, command); return(null); }); if (list != null) { IList rtnList = (IList)Activator.CreateInstance(typeof(List <>).MakeGenericType(typeToLoad)); foreach (KeyValuePair <object, IList> pair in list) { foreach (object listElement in pair.Value) { rtnList.Add(listElement); } } foreach (object obj in rtnList) { IAfterLoadFromDatabase afterLoadFromDatabase = obj as IAfterLoadFromDatabase; if (afterLoadFromDatabase != null) { afterLoadFromDatabase.AfterLoadFromDatabase(); } } return(rtnList); } else { return(null); } }