internal static FBUser.FBUser CreateFriend(User i_User) { FBUser.FBUser user = new FBUser.FBUser(i_User.Id); List <Task> tasks = new List <Task>(); tasks.Add(Task.Run(() => user.m_Album = AlbumUtils.SetAlbums(i_User))); tasks.Add(Task.Run(() => user.m_About = AboutUtils.BuildPersonalDetails(i_User))); tasks.Add(Task.Run(() => { while ((user.m_About == null) || (user.m_Album == null)) { Thread.Sleep(sr_SleepFor); } user.m_About.Cover = AlbumUtils.SetCoverPhoto(user.m_Album); })); tasks.Add(Task.Run(() => { while (user.m_About == null) { Thread.Sleep(sr_SleepFor); } user.m_UserPosts = PostUtils.SetPosts(ref user, i_User.Posts, i_User.ImageSmall, user.m_About.Name); })); Task.WaitAll(tasks.ToArray()); return(user); }
internal static FBUser.FBUser CreateUser(User i_User) { FBUser.FBUser user = new FBUser.FBUser(i_User.Id); List <Task> tasks = new List <Task>(); tasks.Add(Task.Run(() => { UpdateStatus(string.Format(s_StartingStatus, "albums")); user.m_Album = AlbumUtils.SetAlbums(i_User); UpdateStatus(string.Format(s_FinishStatus, "albums")); })); tasks.Add(Task.Run(() => { UpdateStatus(string.Format(s_StartingStatus, "personal details")); user.m_About = AboutUtils.BuildPersonalDetails(i_User); UpdateStatus(string.Format(s_FinishStatus, "personal details")); })); tasks.Add(Task.Run(() => { while ((user.m_About == null) || (user.m_Album == null)) { Thread.Sleep(sr_SleepFor); } UpdateStatus(string.Format(s_StartingStatus, "cover photo")); user.m_About.Cover = AlbumUtils.SetCoverPhoto(user.m_Album); UpdateStatus(string.Format(s_FinishStatus, "cover photo")); })); tasks.Add(Task.Run(() => { while (user.m_About == null) { Thread.Sleep(sr_SleepFor); } UpdateStatus(string.Format(s_StartingStatus, "post")); user.m_UserPosts = PostUtils.SetPosts(ref user, i_User.Posts, i_User.ImageSmall, user.m_About.Name); UpdateStatus(string.Format(s_FinishStatus, "post")); })); tasks.Add(Task.Run(() => { UpdateStatus(string.Format(s_StartingStatus, "friends")); user.m_FriendsList = FriendUtils.SetFriends(i_User.Friends); UpdateStatus(string.Format(s_FinishStatus, "friends")); })); tasks.Add(Task.Run(() => { UpdateStatus(string.Format(s_StartingStatus, "groups")); user.m_UserGroups = GroupUtils.SetGroups(i_User.Groups); UpdateStatus(string.Format(s_FinishStatus, "group")); })); tasks.Add(Task.Run(() => { while ((user.m_FriendsList == null) || (user.m_UserPosts == null)) { Thread.Sleep(sr_SleepFor); } UpdateStatus(string.Format(s_StartingStatus, "feed")); user.m_Feed = new Feed(FeedUtils.BuildUserFeed(user)); UpdateStatus(string.Format(s_FinishStatus, "feed")); })); Task.WaitAll(tasks.ToArray()); return(user); }