private SceneObjectGroup LoadObject(UUID uuid, UUID region)
        {
            SceneObjectGroup group = new SceneObjectGroup();

            ICriteria criteria = manager.GetSession().CreateCriteria(typeof(SceneObjectPart));

            criteria.Add(Expression.Eq("RegionID", region));
            criteria.Add(Expression.Eq("ParentUUID", uuid));
            criteria.AddOrder(Order.Asc("ParentID"));

            foreach (SceneObjectPart p in criteria.List())
            {
                // root part
                if (p.UUID == uuid)
                {
                    group.SetRootPart(p);
                }
                else
                {
                    group.AddPart(p);
                }
            }

            return(group);
        }
Esempio n. 2
0
        /// <summary>
        ///     Returns a list of inventory items contained within the specified folder
        /// </summary>
        /// <param name="folderID">The UUID of the target folder</param>
        /// <returns>A List of InventoryItemBase items</returns>
        public List <InventoryItemBase> getInventoryInFolder(UUID folderID)
        {
            ICriteria criteria = manager.GetSession().CreateCriteria(typeof(InventoryItemBase));

            criteria.Add(Expression.Eq("Folder", folderID));
            List <InventoryItemBase> list = new List <InventoryItemBase>();

            foreach (InventoryItemBase item in criteria.List())
            {
                list.Add(item);
            }

            return(list);
        }
        public override RegionProfileData GetProfileByHandle(ulong regionHandle)
        {
            using (ISession session = manager.GetSession())
            {
                ICriteria criteria = session.CreateCriteria(typeof(RegionProfileData));
                criteria.Add(Expression.Eq("RegionHandle", regionHandle));

                IList regions = criteria.List();

                if (regions.Count == 1)
                {
                    return((RegionProfileData)regions[0]);
                }
                else
                {
                    return(null);
                }
            }
        }
        override public UserProfileData GetUserByName(string fname, string lname)
        {
            m_log.InfoFormat("[NHIBERNATE] GetUserByName: {0} {1} ", fname, lname);
            ICriteria criteria = manager.GetSession().CreateCriteria(typeof(UserProfileData));

            criteria.Add(Expression.Eq("FirstName", fname));
            criteria.Add(Expression.Eq("SurName", lname));
            foreach (UserProfileData profile in criteria.List())
            {
                profile.CurrentAgent = GetAgentByUUID(profile.ID);
                return(profile);
            }
            return(null);
        }
Esempio n. 5
0
        private EstateRegionLink LoadEstateRegionLink(UUID regionID)
        {
            ICriteria criteria = manager.GetSession().CreateCriteria(typeof(EstateRegionLink));

            criteria.Add(Expression.Eq("RegionID", regionID));
            IList links = criteria.List();

            // Fail fast if more than one estate links exist
            if (links.Count > 1)
            {
                m_log.Error("[NHIBERNATE]: Region had more than one estate linked: " + regionID);
                throw new Exception("[NHIBERNATE]: Region had more than one estate linked: " + regionID);
            }

            if (links.Count == 1)
            {
                return((EstateRegionLink)links[0]);
            }
            else
            {
                return(null);
            }
        }