Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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();

        }
        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();
        }