private void LoadPhotosOfFriendsWithoutMutualFriends(HttpContext context) { IList<FacebookHelper.FacebookFriendData> friendsData = FacebookHelper.GetFriendsDataList(context); if (Classes.User.IsUsernameTaken(friendsData.Last().Username)) { var lstFriendsIds = new List<long>(); try { // fetch facebook friends without images using (var db = new ezFixUpDataContext()) { var tmpList = CompiledQueries.FetchActiveFriendsForUsername(db, MatchmakerHelper.CurrentUsername).ToList(); var tmpArray = tmpList.Where( f => f.User1.u_logincount == 0 && f.User1.u_facebookid.HasValue && !f.User1.u_face_control_approved) .OrderBy(f => f.User1.u_name).Select(f => f.User1.u_facebookid.Value).ToArray(); foreach (var un in tmpArray) { int imgId = Photo.GetPrimaryOrDefaultId(un.ToString()); if (imgId < 0) lstFriendsIds.Add(un); if (lstFriendsIds.Count > 100) break; } } } catch (Exception ex) { } if (!FacebookHelper.IsCurrentSessionConnected || lstFriendsIds.Count <= 0) return; try { var parameterizedThreadsList = new Classes.ezFixUpParallel.ParameterizedThreadsList<long>( lstFriendsIds, (new FacebookHelper.FetchAndSaveSaveFacebookFriendImageClass()).FetchAndSaveFacebookImageByFacebookId, context); parameterizedThreadsList.RunAsBackgroundThreads = true; parameterizedThreadsList.ExecuteParallelWork(10); } catch (Exception ex) { } } else { Global.GetSessionState()["SessionRefreshState"] = SessionRefreshStateEnum.AddFriendsWithoutMutualFriends; } }
private void LoadPhotosOfFriendsWithMutualFriends(HttpContext context) { CacheImagesOfFriends(context, ImageHandler.eFacebookImageType.Large); var friendsIDsWithMutualFriends = ((List<MutualFriendItem>)HttpContext.Current.GetSession()["FacebookMutualFriends"]) .Select(f => f.FriendID).Distinct().ToList(); DateTime[] time = new DateTime[5]; time[0] = DateTime.Now; if (friendsIDsWithMutualFriends != null && Classes.User.IsUsernameTaken(friendsIDsWithMutualFriends.Last().ToString())) { var lstFriendsIds = new List<long>(); try { // fetch facebook friends without images using (var db = new ezFixUpDataContext()) { var tmpList = CompiledQueries.FetchActiveFriendsForUsername(db, MatchmakerHelper.CurrentUsername).ToList(); var tmpArray = tmpList.Where( f => f.User1.u_logincount == 0 && f.User1.u_facebookid.HasValue && !f.User1.u_face_control_approved) .OrderBy(f => f.User1.u_name).Select(f => f.User1.u_facebookid.Value).ToArray(); foreach (var un in tmpArray) { int imgId = Photo.GetPrimaryOrDefaultId(un.ToString()); if (imgId < 0) lstFriendsIds.Add(un); if (lstFriendsIds.Count > 60) break; } } } catch (Exception ex) { } if (lstFriendsIds.Count > 0) { try { var parameterizedThreadsList = new Classes.ezFixUpParallel.ParameterizedThreadsList<long>( lstFriendsIds, (new FacebookHelper.FetchAndSaveSaveFacebookFriendImageClass()). FetchAndSaveFacebookImageByFacebookId, context); parameterizedThreadsList.RunAsBackgroundThreads = true; parameterizedThreadsList.ExecuteParallelWork(10); } catch (Exception ex) { } } else { Global.GetSessionState()["SessionRefreshState"] = SessionRefreshStateEnum.AddFriendsWithoutMutualFriends; FacebookHelper.AddFriends(PageBase.GetCurrentUserSession(), 100, context, null); } } else { Global.GetSessionState()["SessionRefreshState"] = SessionRefreshStateEnum.AddFriendsWithMutualFriends; FacebookHelper.AddFriends(PageBase.GetCurrentUserSession(), 0, context, null); } }