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); }
/// <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); }
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); } }