private void WorkerUploaderSearch_DoWork(object sender, DoWorkEventArgs e) { workerUploaderSearch.ReportProgress(WORKER_USER_WITH_EMAIL_DISABLE_SEARCH_BUTTON); string tagname = e.Argument as string; var uploaders = new ObservableCollection <InstaApiUser>(); uploaders.CollectionChanged += Uploaders_CollectionChanged; var task_uploaders = InstaManager.Instance.SearchTaggedMediaUploaders(uploaders, tagname, uploader_count); task_uploaders.Wait(); int total_scraped = 0; foreach (var uploader in uploaders) { var emails = InstaManager.Instance.UserEmails(uploader.username); if (emails.Count > 0) { var allEmails = string.Join(", ", emails.ToArray()); var uploaderViewModel = new UserWithEmailViewModel { No = -1, // temp index, will changed with UI code Username = uploader.username, FullName = uploader.full_name, Email = allEmails }; workerUploaderSearch.ReportProgress(WORKER_USER_WITH_EMAIL_ADD_NEW, uploaderViewModel); } workerUploaderSearch.ReportProgress(WORKER_UERS_WITH_EMAIL_TOTAL_SCRAPED, ++total_scraped); } workerUploaderSearch.ReportProgress(WORKER_USER_WITH_EMAIL_ENABLE_SEARCH_BUTTON); }
private void WorkerFollowerSearch_DoWork(object sender, DoWorkEventArgs e) { workerFollowerSearch.ReportProgress(WORKER_USER_WITH_EMAIL_DISABLE_SEARCH_BUTTON); string username = e.Argument as string; var task_user_id = InstaManager.Instance.SearchUser(username); task_user_id.Wait(); long user_id = task_user_id.Result; if (user_id == -1) { MessageBox.Show("There aren't any user who has that username."); } else { var followers = new ObservableCollection <InstaApiUser>(); followers.CollectionChanged += Followers_CollectionChanged; var task_followers = InstaManager.Instance.FollowersList(followers, user_id, follower_count); task_followers.Wait(); int total_scraped = 0; foreach (var follower in followers) { var emails = InstaManager.Instance.UserEmails(follower.username); if (emails.Count > 0) { var allEmails = string.Join(", ", emails.ToArray()); var followerViewModel = new UserWithEmailViewModel { No = -1, // temp index, will changed with UI code Username = follower.username, FullName = follower.full_name, Email = allEmails }; workerFollowerSearch.ReportProgress(WORKER_USER_WITH_EMAIL_ADD_NEW, followerViewModel); } workerFollowerSearch.ReportProgress(WORKER_UERS_WITH_EMAIL_TOTAL_SCRAPED, ++total_scraped); } } workerFollowerSearch.ReportProgress(WORKER_USER_WITH_EMAIL_ENABLE_SEARCH_BUTTON); }