public override void FromOSD(OSDMap map)
        {
            AgentInfo = new IAgentInfo();
            AgentInfo.FromOSD((OSDMap)(map["AgentInfo"]));
            UserAccount = new UserAccount();
            UserAccount.FromOSD((OSDMap)(map["UserAccount"]));
            if (!map.ContainsKey("ActiveGroup"))
            {
                ActiveGroup = null;
            }
            else
            {
                ActiveGroup = new GroupMembershipData();
                ActiveGroup.FromOSD((OSDMap)(map["ActiveGroup"]));
            }
            GroupMemberships = ((OSDArray)map["GroupMemberships"]).ConvertAll <GroupMembershipData>((o) =>
            {
                GroupMembershipData
                group =
                    new GroupMembershipData
                        ();
                group
                .FromOSD
                    ((OSDMap
                      )o);
                return(group);
            });
            OfflineMessages = ((OSDArray)map["OfflineMessages"]).ConvertAll <GridInstantMessage>((o) =>
            {
                GridInstantMessage
                group =
                    new GridInstantMessage
                        ();
                group.FromOSD(
                    (OSDMap)o);
                return(group);
            });
            MuteList = ((OSDArray)map["MuteList"]).ConvertAll <MuteList>((o) =>
            {
                MuteList group = new MuteList();
                group.FromOSD((OSDMap)o);
                return(group);
            });

            if (map.ContainsKey("Appearance"))
            {
                Appearance = new AvatarAppearance();
                Appearance.FromOSD((OSDMap)map["Appearance"]);
            }
        }
        public AvatarAppearance Get(UUID PrincipalID)
        {
            QueryFilter filter = new QueryFilter();

            filter.andFilters["PrincipalID"] = PrincipalID;
            List <string> data;

            lock (m_lock)
            {
                data = GD.Query(new string[] { "Appearance" }, m_realm, filter, null, null, null);
            }
            if (data.Count == 0)
            {
                return(null);
            }
            AvatarAppearance appearance = new AvatarAppearance();

            appearance.FromOSD((OSDMap)OSDParser.DeserializeJson(data[0]));
            return(appearance);
        }
 public AvatarAppearance Get(UUID PrincipalID)
 {
     QueryFilter filter = new QueryFilter();
     filter.andFilters["PrincipalID"] = PrincipalID;
     List<string> data;
     lock (m_lock)
     {
         data = GD.Query(new string[] {"Appearance"}, m_realm, filter, null, null, null);
     }
     if (data.Count == 0)
         return null;
     AvatarAppearance appearance = new AvatarAppearance();
     appearance.FromOSD((OSDMap) OSDParser.DeserializeJson(data[0]));
     return appearance;
 }