Esempio n. 1
0
        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);
        }
Esempio n. 2
0
 public virtual void AfterLoadFromDatabase()
 {
     CollectionUtils.ForEach(Items, delegate(object item)
     {
         IAfterLoadFromDatabase afterLoadFromDatabase = item as IAfterLoadFromDatabase;
         if (afterLoadFromDatabase != null)
         {
             afterLoadFromDatabase.AfterLoadFromDatabase();
         }
     });
 }
Esempio n. 3
0
        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);
            }
        }