コード例 #1
0
        private SocialUserProfile PrepareProfile(SnipeObject data)
        {
            string            profile_id = data.ContainsKey("uid") ? data.SafeGetString("uid") : data.SafeGetString("id");
            SocialUserProfile profile    = new FacebookUserProfile(profile_id, this.NetworkType);

            profile.FirstName      = data.SafeGetString("first_name");
            profile.LastName       = data.SafeGetString("last_name");
            profile.PhotoSmallURL  = "https://graph.facebook.com/" + profile.Id + "/picture/?width=50&height=50";
            profile.PhotoMediumURL = "https://graph.facebook.com/" + profile.Id + "/picture/?width=100&height=100";
            //profile.Link         = data.ContainsKey("link") ? Convert.ToString(data["link"]) : data.ContainsKey("profile_url") ? Convert.ToString(data["profile_url"]) : ("http://www.facebook.com/" + profile.Id);
            //profile.Gender       = (((string)(data.ContainsKey("sex") ? data["sex"] : data["gender"]) != "female")) ? 1 : 2;  // 1-male, 2-female
            //profile.Online       = Convert.ToBoolean( data["online"] );

            AddProfileToCache(profile);
            DebugLogger.Log("[FacebookProvider] PrepareProfile " + profile.ToJSONString());

            return(profile);
        }
コード例 #2
0
        public static SocialUserProfile FromObject(object raw_data)
        {
            if (raw_data is SocialUserProfile)
            {
                return((raw_data as SocialUserProfile).Clone());
            }

            if (!(raw_data is SnipeObject))
            {
                return(new SocialUserProfile());
            }

            SnipeObject data = (SnipeObject)raw_data;

            SocialUserProfile profile = new SocialUserProfile();

            if (data.ContainsKey("id"))
            {
                profile.Id = data.SafeGetString("id");
            }
            else if (data.ContainsKey("networkid"))                         // в таком формате данные могут прийти от игрового сервера
            {
                profile.Id = data.SafeGetString("networkid");
            }

            if (data.ContainsKey("network_type"))
            {
                profile.NetworkType = data.SafeGetString("network_type");
            }
            else if (data.ContainsKey("networktype"))                       // в таком формате данные могут прийти от игрового сервера
            {
                profile.NetworkType = data.SafeGetString("networktype");
            }
            else if (data.ContainsKey("nt"))                                // в таком формате данные могут прийти от игрового сервера
            {
                profile.NetworkType = data.SafeGetString("nt");
            }
            else if (data.ContainsKey("netid"))                             // в таком формате данные могут прийти от игрового сервера
            {
                profile.NetworkType = data.SafeGetString("netid");
            }

            if (data.ContainsKey("first_name"))
            {
                profile.FirstName = data.SafeGetString("first_name");
            }
            if (data.ContainsKey("last_name"))
            {
                profile.LastName = data.SafeGetString("last_name");
            }
            if (data.ContainsKey("photo_small"))
            {
                profile.PhotoSmallURL = data.SafeGetString("photo_small");
            }
            if (data.ContainsKey("photo_medium"))
            {
                profile.PhotoMediumURL = data.SafeGetString("photo_medium");
            }
            if (data.ContainsKey("link"))
            {
                profile.Link = data.SafeGetString("link");
            }
            if (data.ContainsKey("gender"))
            {
                profile.Gender = Convert.ToInt32(data["gender"]);
            }
            if (data.ContainsKey("online"))
            {
                profile.Online = Convert.ToBoolean(data["online"]);
            }

            if (data.ContainsKey("invitable"))
            {
                profile.Invitable = Convert.ToBoolean(data["invitable"]);
            }

            profile.UpdateCombinedID();

            return(profile);
        }