public void MultiThreadTest() { var ai = new TwitterApiInfo { ConsumerKey = "hYd5c8gYxhy3T2Nvj8wLA", ConsumerSecret = "KZGPvAN6kgioWlf0zrGYOzKevLatexuuuJlIhJQg" }; var provider = new TwitterDataProvider(ai); var messages = provider.GetUserTweets(40648902, null, 10); //List<Message> messages = provider.GetUserHomeTimeLine(10); Action dlgFirstThread = StartFirstThread; Action dlgSecondThread = StartSecondThread; var arFirstThread = dlgFirstThread.BeginInvoke(null, null); var arSecondThread = dlgSecondThread.BeginInvoke(null, null); var waitHandles = new WaitHandle[] { arFirstThread.AsyncWaitHandle, arSecondThread.AsyncWaitHandle }; //WaitHandle[] waitHandles = new WaitHandle[] { arFirstThread.AsyncWaitHandle }; WaitHandle.WaitAll(waitHandles); Console.WriteLine("Operation complete. Press any key to close window..."); Console.ReadLine(); }
private void StartFirstThread() { var apiInfo = new TwitterApiInfo { AccessToken = "313315355-DT9HzoZKyLC4WbfKblVh5KAMyE0IGvtx5XFDtUx5", AccessTokenSecret = "7BhEPtC9RaQK0VIHmrugaimXXoOYjxxVhZGpcxw1w", ConsumerKey = "hYd5c8gYxhy3T2Nvj8wLA", ConsumerSecret = "KZGPvAN6kgioWlf0zrGYOzKevLatexuuuJlIhJQg" }; var provider = new TwitterDataProvider(apiInfo); try { var result = provider.GetUrlOfUserImage("kamorin_roman", TwitterDataProvider.ImageSize.Small); var messages = provider.GetUserHomeTimeLine(10); } catch (Exception) { } Console.WriteLine("First thread complete"); }
public string UploadUserAvatarFromSocialNetwork(int contactId, SocialNetworks socialNetwork, string userIdentity, bool uploadOnly) { if (socialNetwork != SocialNetworks.Twitter && socialNetwork != SocialNetworks.Facebook && socialNetwork != SocialNetworks.LinkedIn) throw new ArgumentException(); if (socialNetwork == SocialNetworks.Twitter) { TwitterDataProvider provider = new TwitterDataProvider(TwitterApiHelper.GetTwitterApiInfoForCurrentUser()); string imageUrl = provider.GetUrlOfUserImage(userIdentity, TwitterDataProvider.ImageSize.Original); return UploadAvatar(contactId, imageUrl, uploadOnly); } if (socialNetwork == SocialNetworks.Facebook) { FacebookDataProvider provider = new FacebookDataProvider(FacebookApiHelper.GetFacebookApiInfoForCurrentUser()); string imageUrl = provider.GetUrlOfUserImage(userIdentity, FacebookDataProvider.ImageSize.Original); return UploadAvatar(contactId, imageUrl, uploadOnly); } if (socialNetwork == SocialNetworks.LinkedIn) { LinkedInDataProvider provider = LinkedInApiHelper.GetLinkedInDataProviderForCurrentUser(); string imageUrl = provider.GetUrlOfUserImage(userIdentity); return UploadAvatar(contactId, imageUrl, uploadOnly); } return null; }
public List<TwitterUserInfo> FindTwitterProfiles(string searchText) { try { TwitterApiInfo apiInfo = TwitterApiHelper.GetTwitterApiInfoForCurrentUser(); if (apiInfo == null) throw new SocialMediaAccountNotFound(SocialMediaResource.SocialMediaAccountNotFoundTwitter); TwitterDataProvider provider = new TwitterDataProvider(apiInfo); List<TwitterUserInfo> users = provider.FindUsers(searchText); /*List<TwitterUserInfo> users = new List<TwitterUserInfo>(); users.Add(new TwitterUserInfo { Description = "I'm a cool user", SmallImageUrl = "http://localhost/TeamLab/products/crm/data/0/photos/00/00/10/contact_10_50_50.jpg", UserName = "******", ScreenName = "user", UserID = 1 }); users.Add(new TwitterUserInfo { Description = "I'm a cool user", SmallImageUrl = "http://localhost/TeamLab/products/crm/data/0/photos/00/00/10/contact_10_50_50.jpg", UserName = "******", ScreenName = "user", UserID = 1 }); users.Add(new TwitterUserInfo { Description = "I'm a cool user", SmallImageUrl = "http://localhost/TeamLab/products/crm/data/0/photos/00/00/10/contact_10_50_50.jpg", UserName = "******", ScreenName = "user", UserID = 1 });*/ return users; } catch (Exception ex) { throw new SocialMediaUI().ProcessError(ex, "ASC.Api.CRM.CRMApi.FindTwitterProfiles"); } }
public List<Message> GetUserTweets(int contactid, int count) { var MessageCount = 10; var twitterAccounts = Global.DaoFactory.GetContactInfoDao().GetList(contactid, ContactInfoType.Twitter, null, null); if (twitterAccounts.Count == 0) throw new ResourceNotFoundException( Newtonsoft.Json.JsonConvert.SerializeObject( new { message = "", description = SocialMediaResource.SocialMediaAccountNotFoundTwitter } )); var apiInfo = TwitterApiHelper.GetTwitterApiInfoForCurrentUser(); TwitterDataProvider twitterProvider = new TwitterDataProvider(apiInfo); List<Message> messages = new List<Message>(); foreach (var twitterAccount in twitterAccounts) { try { messages.AddRange(twitterProvider.GetUserTweets(twitterAccount.ID, twitterAccount.Data, MessageCount)); } catch (ResourceNotFoundException ex) { throw new ResourceNotFoundException( Newtonsoft.Json.JsonConvert.SerializeObject( new { message = ex.Message, description = String.Format("{0}: {1}", SocialMediaResource.ErrorUnknownTwitterAccount, twitterAccount.Data) } )); } catch (Exception ex) { throw new Exception( Newtonsoft.Json.JsonConvert.SerializeObject( new { message = ex.Message, description = String.Format("{0}: {1}", SocialMediaResource.ErrorUnknownTwitterAccount, twitterAccount.Data) } )); } } return messages.OrderByDescending(m => m.PostedOn).Take(MessageCount).ToList(); }
public string UploadUserAvatarFromSocialNetwork(int contactID, SocialNetworks socialNetwork, string userIdentity, bool uploadOnly) { try { //Process authorization if (!ProcessAuthorization(HttpContext.Current)) { AccessDenied(HttpContext.Current); return null; } if (socialNetwork == SocialNetworks.Twitter) { TwitterDataProvider provider = new TwitterDataProvider(TwitterApiHelper.GetTwitterApiInfoForCurrentUser()); string imageUrl = provider.GetUrlOfUserImage(userIdentity, TwitterDataProvider.ImageSize.Original); return UploadAvatar(contactID, imageUrl, uploadOnly); } if (socialNetwork == SocialNetworks.Facebook) { FacebookDataProvider provider = new FacebookDataProvider(FacebookApiHelper.GetFacebookApiInfoForCurrentUser()); string imageUrl = provider.GetUrlOfUserImage(userIdentity, FacebookDataProvider.ImageSize.Original); return UploadAvatar(contactID, imageUrl, uploadOnly); } if (socialNetwork == SocialNetworks.LinkedIn) { LinkedInDataProvider provider = LinkedInApiHelper.GetLinkedInDataProviderForCurrentUser(); string imageUrl = provider.GetUrlOfUserImage(userIdentity); return UploadAvatar(contactID, imageUrl, uploadOnly); } return null; } catch (Exception ex) { throw ProcessError(ex, "UploadUserAvatarFromSocialNetwork"); } }
private List<SocialMediaImageDescription> GetTwitterImageDescriptionList(Contact contact, Tenant tenant) { CoreContext.TenantManager.SetCurrentTenant(tenant); var images = new List<SocialMediaImageDescription>(); var twitterAccounts = Global.DaoFactory.GetContactInfoDao().GetListData(contact.ID, ContactInfoType.Twitter); if (twitterAccounts.Count == 0) return images; var provider = new TwitterDataProvider(TwitterApiHelper.GetTwitterApiInfoForCurrentUser()); images.AddRange(from twitterAccount in twitterAccounts let imageUrl = provider.GetUrlOfUserImage(twitterAccount, TwitterDataProvider.ImageSize.Small) where imageUrl != null select new SocialMediaImageDescription { Identity = twitterAccount, ImageUrl = imageUrl, SocialNetwork = SocialNetworks.Twitter }); return images; }
public string ShowTwitterUserRelationWindow(string userID) { try { //Process authorization if (!ProcessAuthorization(HttpContext.Current)) { AccessDenied(HttpContext.Current); return null; } TwitterDataProvider provider = new TwitterDataProvider(TwitterApiHelper.GetTwitterApiInfoForCurrentUser()); TwitterUserInfo user = provider.LoadUserInfo(Convert.ToDecimal(userID)); return GetTwitterUserInfoPage(user); } catch (Exception ex) { throw ProcessError(ex, "ShowTwitterUserRelationWindow"); } }
public string FindTwitterProfiles(string searchText) { try { //Process authorization if (!ProcessAuthorization(HttpContext.Current)) { AccessDenied(HttpContext.Current); return null; } TwitterDataProvider provider = new TwitterDataProvider(TwitterApiHelper.GetTwitterApiInfoForCurrentUser()); List<TwitterUserInfo> users = provider.FindUsers(searchText); /*List<TwitterUserInfo> users = new List<TwitterUserInfo>(); users.Add(new TwitterUserInfo { Description = "I'm a cool user", SmallImageUrl = "http://localhost/TeamLab/products/crm/data/0/photos/00/00/10/contact_10_50_50.jpg", UserName = "******", ScreenName = "user", UserID = 1 }); users.Add(new TwitterUserInfo { Description = "I'm a cool user", SmallImageUrl = "http://localhost/TeamLab/products/crm/data/0/photos/00/00/10/contact_10_50_50.jpg", UserName = "******", ScreenName = "user", UserID = 1 }); users.Add(new TwitterUserInfo { Description = "I'm a cool user", SmallImageUrl = "http://localhost/TeamLab/products/crm/data/0/photos/00/00/10/contact_10_50_50.jpg", UserName = "******", ScreenName = "user", UserID = 1 });*/ string result = JsonConvert.SerializeObject(users); return result; } catch (Exception ex) { throw ProcessError(ex, "FindTwitterProfiles"); } }
public string FindUsers(string searchText, string socialNetwork) { try { //Process authorization if (!ProcessAuthorization(HttpContext.Current)) { AccessDenied(HttpContext.Current); return null; } if (socialNetwork.ToLower() == "twitter") { TwitterDataProvider provider = new TwitterDataProvider(TwitterApiHelper.GetTwitterApiInfoForCurrentUser()); List<TwitterUserInfo> users = provider.FindUsers(searchText); return GetTwitterUserListPage(users); } if (socialNetwork.ToLower() == "facebook") { FacebookApiInfo apiInfo = FacebookApiHelper.GetFacebookApiInfoForCurrentUser(); if (apiInfo == null) throw new SocialMediaAccountNotFound(SocialMediaResource.SocialMediaAccountNotFoundFacebook); FacebookDataProvider facebookProvider = new FacebookDataProvider(apiInfo); List<FacebookUserInfo> users = facebookProvider.FindUsers(searchText); return GetFacebookUserListPage(users); } return null; } catch (Exception ex) { throw ProcessError(ex, "FindUsers"); } }
private List<Message> GetUserActivity() { if (SelectedSocialNetworks == null) return null; List<Message> messages = new List<Message>(); if (SelectedSocialNetworks.Contains(SocialNetworks.Twitter)) { TwitterDataProvider twitterProvider = new TwitterDataProvider(TwitterInformation.ApiInfo); foreach (UserAccountInfo accountInfo in TwitterInformation.UserAccounts) { try { messages.AddRange(twitterProvider.GetUserTweets(accountInfo.UserID, accountInfo.ScreenName, MessageCount)); } catch (ResourceNotFoundException) { _ctrlErrorDescription.InnerText += String.Format("{0}: {1}", SocialMediaResource.ErrorUnknownTwitterAccount, accountInfo.ScreenName); _ctrlErrorDescriptionContainer.Style.Add(System.Web.UI.HtmlTextWriterStyle.Display, "block"); this.InvalidTwitterAccountExist = true; } } } return messages.OrderByDescending(m => m.PostedOn).Take(MessageCount).ToList(); }
static private void StartSecondThread() { var errorsCount = 0; var apiInfo = new TwitterApiInfo { AccessToken = "333874355-YBK9kp8Qc0mtRuYp9org5XegCX3DZKwycJdZZd8l", AccessTokenSecret = "q0qjlrXlehPag6mNqamvMhoLtb6z2bPUPDRh27HKN7Y", ConsumerKey = "hYd5c8gYxhy3T2Nvj8wLA", ConsumerSecret = "KZGPvAN6kgioWlf0zrGYOzKevLatexuuuJlIhJQg" }; var provider = new TwitterDataProvider(apiInfo); for (var i = 0; i < MaxIterations; i++) { Thread.Sleep(100); try { provider.GetUserHomeTimeLine(1); Console.WriteLine("Second thread: Success. Iteration {0} ", i + 1); } catch (Exception) { Console.WriteLine("Second thread: Exception. Iteration {0} ", i + 1); errorsCount++; if (errorsCount == MaxErrorsCount) { Console.WriteLine("Second thread: Exception Max count reached. Breaking. Iteration {0} ", i + 1); break; } } } Console.WriteLine("Second thread complete"); }
private List<Message> GetUserWallTwitter() { List<Message> messageList = new List<Message>(); try { TwitterDataProvider twitterProvider = new TwitterDataProvider(TwitterInformation.ApiInfo); messageList.AddRange(twitterProvider.GetUserHomeTimeLine(MessageCount)); } catch (Exception ex) { ThrownExceptions.Add(ex); } return messageList; }
private List<SocialMediaImageDescription> GetTwitterImageDescriptionList(List<String> twitterAccounts, Tenant tenant) { var images = new List<SocialMediaImageDescription>(); if (twitterAccounts.Count == 0) return images; try { CoreContext.TenantManager.SetCurrentTenant(tenant); var provider = new TwitterDataProvider(TwitterApiHelper.GetTwitterApiInfoForCurrentUser()); twitterAccounts = twitterAccounts.Distinct().ToList(); images.AddRange(from twitterAccount in twitterAccounts let imageUrl = provider.GetUrlOfUserImage(twitterAccount, TwitterDataProvider.ImageSize.Small) where imageUrl != null select new SocialMediaImageDescription { Identity = twitterAccount, ImageUrl = imageUrl, SocialNetwork = SocialNetworks.Twitter }); } catch (Exception ex) { _logger.Error(ex); } return images; }