IEnumerator DoLoadImage(FacebookEntity person) { if (!person.isLoading) { person.isLoading = true; Debug.Log("\nTrying to loadimage: " + person.Id); WWW url = new WWW(person.ImageUrl); yield return url; Debug.Log("\nImage loaded: " + person.Id); person.Image = Sprite.Create(url.texture, new Rect(0, 0, 128, 128), new Vector2(0.5f, 0.5f)); List<Image> toDelete = new List<Image>(); foreach (KeyValuePair<Image, string> pair in queue) { if (pair.Value == person.Id) { pair.Key.sprite = person.Image; toDelete.Add(pair.Key); } } foreach (Image delete in toDelete) { queue.Remove(delete); } } }
public void LoadImage(FacebookEntity person, Image loadIn) { Debug.Log("\nTrying to open image: " + person.Id); if (person.Image == null) { if (!queue.ContainsKey(loadIn)){ queue.Add(loadIn, person.Id); } StartCoroutine(DoLoadImage(person)); } else { loadIn.sprite = person.Image; } }
public void Search() { Thread th = new Thread(() => { FacebookSearch facebookSearch = new FacebookSearch(); facebookSearch.SearchFile(ServiceManager.Instence().FacebookClient, t => { FacebookEntity facebookEntity = new FacebookEntity() { Url = t.Url }; System.Windows.Application.Current.Dispatcher.Invoke(new Action(() => { _detailVM.Add(facebookEntity); })); }); }); th.Name = "SearchFacebookThread"; th.Start(); }
public async Task <ActionResult> ExternalLoginCallback() { Account account = null; var info = await AuthenticationManager.GetExternalLoginInfoAsync(); if (info == null) { return(RedirectToAction("Index", "Home")); } if (info.Login.LoginProvider == "Facebook") { FacebookClient fb = new FacebookClient(); var identity = AuthenticationManager.GetExternalIdentity(DefaultAuthenticationTypes.ExternalCookie); var accessToken = identity.FindFirstValue(FacebookAccessToken); fb.AccessToken = accessToken; var facebookInfo = fb.Get(ConfigurationManager.AppSettings["FacebookUri"]); FacebookEntity facebookEntity = JsonConvert.DeserializeObject <FacebookEntity>(facebookInfo.ToString()); account = new Account(); account.Id = facebookEntity.Id; account.Name = facebookEntity.Name; account.Email = facebookEntity.Email; account.FirstName = facebookEntity.first_name; account.LastName = facebookEntity.last_name; } else if (info.Login.LoginProvider == "Google") { string googleInfo = info.ExternalIdentity.Claims.FirstOrDefault(c => c.Type == "GoogleInfo").Value; GoogleEntity ObjectGoogle = JsonConvert.DeserializeObject <GoogleEntity>(googleInfo); account = new Account(); account.Id = ObjectGoogle.id; account.Name = ObjectGoogle.name; account.Email = ObjectGoogle.email; account.FirstName = ObjectGoogle.given_name; account.LastName = ObjectGoogle.family_name; } return(View("ExternalLoginConfirmation", account)); }
FacebookEntity ConvertObjectToEntity(object friend){ var fd = (Dictionary<string, object>)friend; string Name = (string)fd["name"]; FacebookEntity entity = new FacebookEntity(); entity.Id = fd["id"].ToString(); entity.LastName = Name.Substring(0, Name.IndexOf(' ')); entity.FirstName = Name.Substring(Name.IndexOf(' ') + 1, Name.Length - Name.IndexOf(' ') - 1); var pictureDict = ((Dictionary<string, object>)(fd["picture"])); var pictureDataDict = ((Dictionary<string, object>)(pictureDict["data"])); entity.ImageUrl = (string)pictureDataDict["url"]; return entity; }