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