Exemple #1
0
        public ActionResult Index()
        {
            TweetsModel Model = new TweetsModel();

            Model.tweetsCount = new List <TweetsModel>();
            return(View(Model));
        }
Exemple #2
0
        public TweetsModel GetTweetsModel(int channelId)
        {
            var tweetsModel = new TweetsModel();

            try
            {
                var channelInfo = _entityModel.Channels.FirstOrDefault(channel => channel.channelId == channelId);
                tweetsModel.Name     = channelInfo.name;
                tweetsModel.Src_Name = channelInfo.src_Name;
                tweetsModel.Id       = channelInfo.channelId;
                var tweets = from tweet in _entityModel.Tweets
                             where tweet.channelId == channelId
                             orderby tweet.date_time descending
                             select new Tweet
                {
                    Text      = tweet.text,
                    DateTime  = tweet.date_time,
                    Src_Image = tweet.src_image,
                    Image     = tweet.image,
                };
                tweetsModel.Tweets.AddRange(tweets);
            }
            catch (Exception ex)
            {
                throw new Exception("Failed to retrieve tweets from database", ex);
            }
            return(tweetsModel);
        }
Exemple #3
0
        public TweetsModel GetPartialTweetsModel(int channelId, IEnumerable <TwitterStatus> tweets)
        {
            var tweetsModel = new TweetsModel();

            try
            {
                var maxDate   = _entityModel.Tweets.Max(tweet => tweet.date_time);
                var newTweets = from tweet in tweets
                                orderby tweet.CreatedDate descending
                                where tweet.CreatedDate > maxDate
                                select tweet;
                SaveTweets(channelId, newTweets);
                tweetsModel.Id = channelId;
                tweetsModel.Tweets.AddRange(
                    newTweets.Select(tweet => new Tweet
                {
                    Text      = tweet.Text,
                    DateTime  = tweet.CreatedDate,
                    Src_Image = tweet.User.ProfileImageUrl,
                    Image     = (tweet.Entities.Media.Count != 0) ?
                                tweet.Entities.Media.First().MediaUrl : "false"
                }));
            }
            catch (Exception ex)
            {
                return(null);

                throw new Exception("Failed to retrieve tweets from database", ex);
            }
            return(tweetsModel);
        }
Exemple #4
0
        public ActionResult ManageTweets(TweetsModel model)
        {
            MarketingService _attSvc = new MarketingService();

            TweetsBE tweet = new TweetsBE();

            tweet.UserId   = model.UserId;
            tweet.UserName = model.UserName;
            tweet.Tweet    = model.Tweet;
            tweet.Date     = model.Date;
            tweet.Location = "Riyadh, KSA";

            if (_attSvc.AddTweet(tweet))
            {
                ModelState.AddModelError("", "Tweet Saved Successfully");
            }
            else
            {
                ModelState.AddModelError("", "Unable to Save Tweet");
            }

            model.TweetsList = _attSvc.GetAllTweets();

            return(View(model));
        }
        public TweetsModel GetTweets(int numberOfResults, bool adminOverview)
        {
            var umbracoHelper = new UmbracoHelper(UmbracoContext.Current);
            var tweetsModel   = new TweetsModel {
                ShowAdminOverView = adminOverview
            };
            var member = umbracoHelper.MembershipHelper.GetCurrentMember();

            if (member == null || member.IsHq() == false)
            {
                tweetsModel.ShowAdminOverView = false;
            }

            ITweet[] filteredTweets = { };
            try
            {
                var tweets =
                    UmbracoContext.Current.Application.ApplicationCache.RuntimeCache.GetCacheItem <ITweet[]>("UmbracoSearchedTweets",
                                                                                                             () =>
                {
                    Auth.SetUserCredentials(ConfigurationManager.AppSettings["twitterConsumerKey"],
                                            ConfigurationManager.AppSettings["twitterConsumerSecret"],
                                            ConfigurationManager.AppSettings["twitterUserAccessToken"],
                                            ConfigurationManager.AppSettings["twitterUserAccessSecret"]);
                    Tweetinvi.User.GetAuthenticatedUser();

                    var searchParameter = new SearchTweetsParameters("umbraco")
                    {
                        SearchType = SearchResultType.Recent
                    };
                    return(Search.SearchTweets(searchParameter).ToArray());
                }, TimeSpan.FromMinutes(2));

                var settingsNode = umbracoHelper.TypedContentAtRoot().FirstOrDefault();
                if (settingsNode != null)
                {
                    var usernameFilter = settingsNode.GetPropertyValue <string>("twitterFilterAccounts")
                                         .ToLowerInvariant().Split(',').Where(x => x != string.Empty).ToArray();
                    var wordFilter = settingsNode.GetPropertyValue <string>("twitterFilterWords")
                                     .ToLowerInvariant().Split(',').Where(x => x != string.Empty);

                    filteredTweets = tweets.Where(x =>
                                                  x.CreatedBy.UserIdentifier.ScreenName.ToLowerInvariant().ContainsAny(usernameFilter) ==
                                                  false &&
                                                  x.UserMentions.Any(m => m.ScreenName.ContainsAny(usernameFilter)) == false &&
                                                  x.Text.ToLowerInvariant().ContainsAny(wordFilter) == false &&
                                                  x.Text.StartsWith("RT ") == false)
                                     .Take(numberOfResults)
                                     .ToArray();
                }

                tweetsModel.Tweets = filteredTweets;
            }
            catch (Exception ex)
            {
                LogHelper.Error <ITweet>("Could not get tweets", ex);
            }

            return(tweetsModel);
        }
 public ActionResult Tweets(TweetsModel model)
 {
     try
     {
         GetTweets G = new GetTweets();
         G.T_F(model.ScreenNameTweets);
         return(Content("Done with Downloading Tweets of the Following Screen Name: " + model.ScreenNameTweets));
     }
     catch (ArgumentOutOfRangeException ex)
     {
         return(Content("Error Handle: Account does not exist in Twitter Network"));
     }
     catch (OverflowException ec)
     {
         return(Content("Error Handle: Account exist in Twitter Network but contains NO Tweets\n"));
     }
     catch (AggregateException cd)
     {
         return(Content("Error Handle: Either the Internet Connection is BAD! or Account and Tweets exist but are Protected in Twitter Network at line 68\n"));
     }
     catch (SqlException se)
     {
         return(Content("Error Handle: Sql Conntection(String) or Command(Qurey) Error"));
     }
     catch (Exception ee)
     {
         return(Content("Error Handle : Some Unknow Exception as occured ::\n" + ee.ToString()));
     }
 }
        public IActionResult Post([FromBody] TweetsModel model)
        {
            try
            {
                if (!string.IsNullOrEmpty(model.Id))
                {
                    //Check Empty Guid
                    Guid userid = new Guid(model.Id);
                    if (userid != Guid.Empty)
                    {
                        //Update
                        APIReturnModel update = TweetsServices.SaveTweets(model);
                        return(Ok(new { data = update.Value, status = StatusMessages.Get(update.Status) }));
                    }
                    else
                    {
                        //Passed User ID is empty guid
                        return(Ok(new { data = string.Empty, status = StatusMessages.Error_UserUpdateFailed_GUID }));
                    }
                }
                else
                {
                    //Insert
                    APIReturnModel create = TweetsServices.SaveTweets(model);
                    return(Ok(new { data = create.Value, status = StatusMessages.Get(create.Status) }));
                }
            }
            catch
            {
            }

            return(Ok(new { data = string.Empty, status = StatusMessages.Error_Failed }));
        }
Exemple #8
0
        /// <summary>
        /// 1= Success, 0= Failed
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public APIReturnModel SaveTweets(TweetsModel model)
        {
            try
            {
                Tweet tweets   = new Tweet();
                bool  isupdate = false;
                //Check tweet id is provided
                if (!string.IsNullOrEmpty(model.Id))
                {
                    tweets = Db.Tweets.FirstOrDefault(d => d.Id == model.Id);

                    if (tweets == null)
                    {
                        tweets = new Tweet
                        {
                            Id        = Guid.NewGuid().ToString(),
                            CreatedAt = DateTime.Now
                        };
                    }
                    else
                    {
                        isupdate         = true;
                        tweets.UpdatedAt = DateTime.Now;
                    }
                    tweets.UserId          = model.UserId;
                    tweets.Text            = model.Text;
                    tweets.PlaceCountry    = model.PlaceCountry;
                    tweets.InReplyToStatus = model.InReplyToStatus;
                    tweets.InReplyToUser   = model.InReplyToUser;
                    tweets.RetweetedFrom   = model.RetweetedFrom;
                    tweets.ReplyCount      = model.ReplyCount;
                    tweets.FavoriteCount   = model.FavoriteCount;

                    tweets.IsArchived = false;

                    if (!isupdate)
                    {
                        Db.Tweets.Add(tweets);
                    }
                    Db.SaveChanges();

                    return(new APIReturnModel {
                        Status = 1, Value = tweets.Id
                    });
                }
                else
                {
                    return new APIReturnModel {
                               Status = 4
                    }
                };
            }
            catch
            {
                return(new APIReturnModel {
                    Status = 0
                });
            }
        }
Exemple #9
0
        public ActionResult _TweetDetails(int keyId)
        {
            MarketingService _attSvc = new MarketingService();
            TweetsModel      model   = new TweetsModel();

            model.TweetsList = _attSvc.GetAllTweets().Where(m => m.KeyId == keyId).ToList();

            return(View(model));
        }
Exemple #10
0
        public ActionResult ManageTweets(int?AttendanceID, string Mode)
        {
            MarketingService _attSvc = new MarketingService();
            TweetsModel      model   = new TweetsModel();

            model.TweetsList = _attSvc.GetAllTweets();

            return(View(model));
        }
Exemple #11
0
        public TweetsModel GetTweets(string strTerm, string addressFrom, string proximity)
        {
            TweetsModel Model = new TweetsModel();

            twitterAccess = new TwitterAccess();

            TweetsModel tweetModel = twitterAccess.GetTweetCount(strTerm, addressFrom, proximity);

            return(tweetModel);
        }
Exemple #12
0
        public ActionResult Index()
        {
            TweetsModel Model = new TweetsModel();

            Model.tweetsCount = new List <TweetsModel>();

            Model.addressFrom = "Beloit, WI";
            Model.proximity   = "10";

            return(View(Model));
        }
        public TweetsModel GetTweets(List <string> ids)
        {
            TweetsClient client = new TweetsClient(_oAuthInfo);

            string tweetJson = client.GetTweets(ids, _expansionsFields, _TweetFields, _MediaFields, _PollFields, _PlaceFields, _UserFields);

            TweetsDTO resultsDTO = JsonConvert.DeserializeObject <TweetsDTO>(tweetJson);

            TweetsModel model = _iMapper.Map <TweetsDTO, TweetsModel>(resultsDTO);

            return(model);
        }
Exemple #14
0
        public bool SetTwitterData(string strTerm1, int intCount1, string strTerm2, int intCount2)
        {
            System.Guid tweetID    = Guid.NewGuid();
            TweetsModel tweetModel = new TweetsModel();

            tweetModel.tweetID          = tweetID.ToString();
            tweetModel.searchTerm1      = strTerm1;
            tweetModel.searchTerm2      = strTerm2;
            tweetModel.searchTermCount1 = intCount1;
            tweetModel.searchTermCount2 = intCount2;

            return(da.Insert("putTweetSearch", tweetModel));
        }
Exemple #15
0
        public ActionResult SearchTwitterPost(string txtSearchTerm1, string txtSearchTerm2)
        {
            string             strSearchOne    = txtSearchTerm1;
            string             strSearchTwo    = txtSearchTerm2;
            int                tweetCountTerm1 = 0;
            int                tweetCountTerm2 = 0;
            List <TweetsModel> rtnResponse     = new List <TweetsModel>();
            TweetsModel        Model           = new TweetsModel {
                tweetsCount = rtnResponse
            };

            if (strSearchOne != "")
            {
                tweetCountTerm1 = GetTweets(strSearchOne);
            }
            else
            {
                Model.strError = "Term 1 box needs to be populated.";
            }

            if (strSearchTwo != "")
            {
                tweetCountTerm2 = GetTweets(strSearchTwo);
            }
            else
            {
                if (Model.strError != "")
                {
                    Model.strError += "<br>";
                }
                Model.strError += "Term 2 box needs to be populated.";
            }

            if (Model.strError != null && Model.strError != "")
            {
                return(View(Model));
            }

            bool blnSuccess = SetTweets(strSearchOne, tweetCountTerm1, strSearchTwo, tweetCountTerm2);

            rtnResponse = GetTweetList();

            Model.searchTerm1      = strSearchOne;
            Model.searchTermCount1 = tweetCountTerm1;
            Model.searchTerm2      = strSearchTwo;
            Model.searchTermCount2 = tweetCountTerm2;
            Model.showTweets       = true;
            Model.tweetsCount      = rtnResponse;

            return(View(Model));
        }
Exemple #16
0
        ////Insert statement
        public bool Insert(string strQuery, TweetsModel tweetModel)
        {
            try
            {
                //open connection
                if (this.OpenConnection() == true)
                {
                    //create command and assign the query and connection from the constructor
                    MySqlCommand cmd = new MySqlCommand
                    {
                        Connection  = connection,
                        CommandText = strQuery,
                        CommandType = CommandType.StoredProcedure
                    };

                    cmd.Parameters.AddWithValue("@tweetID", tweetModel.tweetID);
                    cmd.Parameters["@tweetID"].Direction = ParameterDirection.Input;

                    cmd.Parameters.AddWithValue("@searchTerm1", tweetModel.searchTerm1);
                    cmd.Parameters["@searchTerm1"].Direction = ParameterDirection.Input;

                    cmd.Parameters.AddWithValue("@searchTerm1Count", tweetModel.searchTermCount1);
                    cmd.Parameters["@searchTerm1Count"].Direction = ParameterDirection.Input;

                    cmd.Parameters.AddWithValue("@searchTerm2", tweetModel.searchTerm2);
                    cmd.Parameters["@searchTerm2"].Direction = ParameterDirection.Input;

                    cmd.Parameters.AddWithValue("@searchTerm2Count", tweetModel.searchTermCount2);
                    cmd.Parameters["@searchTerm2Count"].Direction = ParameterDirection.Input;

                    //Execute command
                    cmd.ExecuteNonQuery();

                    //close connection
                    this.CloseConnection();

                    return(true);
                }
            }
            catch (Exception ex)
            {
                //Need to send this to a log
                string strError = "";
                strError = ex.ToString();

                return(false);
            }

            return(true);
        }
Exemple #17
0
        public TweetsModel GetPartialTweetsModel(int channelId, IEnumerable <TwitterStatus> tweets)
        {
            DateTime maxDate;
            var      tweetsModel = new TweetsModel();

            try
            {
                using (SqlConnection connection = new SqlConnection(_connectionString))
                {
                    SqlCommand command = new SqlCommand("SELECT MAX(date_time) FROM Tweets", connection);
                    connection.Open();
                    using (SqlDataReader reader = command.ExecuteReader())
                    {
                        reader.Read();
                        maxDate = reader.GetDateTime(0);
                    }
                }
                var newTweets = from tweet
                                in tweets
                                where tweet.CreatedDate > maxDate
                                select tweet;
                SaveTweets(channelId, newTweets);
                foreach (var tweet in newTweets)
                {
                    tweetsModel.Id = channelId;
                    tweetsModel.Tweets.Add(
                        new Tweet
                    {
                        Text      = tweet.Text,
                        DateTime  = tweet.CreatedDate,
                        Src_Image = tweet.User.ProfileImageUrl,
                        Image     = (tweet.Entities.Media.Count != 0) ?
                                    tweet.Entities.Media.First().MediaUrl : "false"
                    });
                }
            }
            catch (Exception ex)
            {
                return(null);

                throw new Exception("Failed to retrieve tweets from database", ex);
            }
            return(tweetsModel);
        }
Exemple #18
0
        public TweetsModel GetTweetsModel(int channelId)
        {
            var tweetsModel = new TweetsModel();

            try
            {
                using (SqlConnection connection = new SqlConnection(_connectionString))
                {
                    SqlCommand command = new SqlCommand(String.Format("SELECT * FROM Tweets,Channels Where Tweets.id='{0}' AND Channels.id ='{0}' ORDER BY date_time DESC", channelId), connection);
                    connection.Open();
                    using (SqlDataReader reader = command.ExecuteReader())
                    {
                        reader.Read();
                        tweetsModel.Name     = reader.GetString(7);
                        tweetsModel.Src_Name = reader.GetString(6);
                        tweetsModel.Id       = reader.GetInt32(5);
                        do
                        {
                            tweetsModel.Tweets.Add(
                                new Tweet
                            {
                                Text      = reader.GetString(1),
                                DateTime  = reader.GetDateTime(3),
                                Src_Image = reader.GetString(2),
                                Image     = reader.GetString(4)
                            });
                        }while (reader.Read());
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Failed to retrieve tweets from database", ex);
            }
            return(tweetsModel);
        }
Exemple #19
0
        public TweetsModel GetTweets(int numberOfResults, bool adminOverview)
        {
            var umbracoHelper = new UmbracoHelper(UmbracoContext.Current);
            var tweetsModel   = new TweetsModel {
                ShowAdminOverView = adminOverview
            };
            var member = umbracoHelper.MembershipHelper.GetCurrentMember();

            if (member == null || member.IsHq() == false)
            {
                tweetsModel.ShowAdminOverView = false;
            }

            List <TwitterStatus> filteredTweets = new List <TwitterStatus>();

            try
            {
                var tweets =
                    UmbracoContext.Current.Application.ApplicationCache.RuntimeCache.GetCacheItem <IEnumerable <TwitterStatus> >("UmbracoSearchedTweets",
                                                                                                                                 () =>
                {
                    var service = new TweetSharp.TwitterService(
                        ConfigurationManager.AppSettings["twitterConsumerKey"],
                        ConfigurationManager.AppSettings["twitterConsumerSecret"]);
                    service.AuthenticateWith(
                        ConfigurationManager.AppSettings["twitterUserAccessToken"],
                        ConfigurationManager.AppSettings["twitterUserAccessSecret"]);

                    var options = new SearchOptions
                    {
                        Count      = 100,
                        Resulttype = TwitterSearchResultType.Recent,
                        Q          = "umbraco"
                    };

                    var results = service.Search(options);
                    return(results.Statuses);
                }, TimeSpan.FromMinutes(2));

                var settingsNode = umbracoHelper.TypedContentAtRoot().FirstOrDefault();
                if (settingsNode != null)
                {
                    var usernameFilter = settingsNode.GetPropertyValue <string>("twitterFilterAccounts")
                                         .ToLowerInvariant().Split(',').Where(x => x != string.Empty).ToArray();
                    var wordFilter = settingsNode.GetPropertyValue <string>("twitterFilterWords")
                                     .ToLowerInvariant().Split(',').Where(x => x != string.Empty);

                    filteredTweets = tweets.Where(x =>
                                                  x.Author.ScreenName.ToLowerInvariant().ContainsAny(usernameFilter) == false &&
                                                  x.Text.ToLowerInvariant().ContainsAny(wordFilter) == false &&
                                                  x.Text.StartsWith("RT ") == false)
                                     .Take(numberOfResults)
                                     .ToList();
                }

                tweetsModel.Tweets = filteredTweets;
            }
            catch (Exception ex)
            {
                LogHelper.Error <TwitterService>("Could not get tweets", ex);
            }

            return(tweetsModel);
        }
Exemple #20
0
 public bool SetTwitterData(TweetsModel tweetModel)
 {
     return(da.Insert("putTweetSearch", tweetModel));
 }
Exemple #21
0
        public TweetsModel GetTweetCount(string strTerm, string addressFrom, string proximity)
        {
            TweetsModel tweetModel            = new TweetsModel();
            string      oauth_consumer_key    = System.Configuration.ConfigurationManager.AppSettings["oauth_consumer_key"];
            string      oauth_consumer_secret = System.Configuration.ConfigurationManager.AppSettings["oauth_consumer_secret"];
            string      oauth_access_token    = System.Configuration.ConfigurationManager.AppSettings["oauth_access_token"];
            string      oauth_token_secret    = System.Configuration.ConfigurationManager.AppSettings["oauth_token_secret"];
            string      longitude             = "";
            string      latitude = "";

            tweetModel.strError = "";

            string rtnMessage = GetCoordinates(ref longitude, ref latitude, addressFrom);

            if (rtnMessage != "success")
            {
                tweetModel.strError = rtnMessage;

                return(tweetModel);
            }
            else
            {
                try {
                    // Create a new set of credentials for the application.
                    var appCredentials = new TwitterCredentials(oauth_consumer_key, oauth_consumer_secret, oauth_access_token, oauth_token_secret);

                    // Use the user credentials in your application
                    Auth.SetCredentials(appCredentials);

                    var searchParameter = new SearchTweetsParameters(strTerm)
                    {
                        //GeoCode = new GeoCode(42.523506, -89.01766, Convert.ToDouble(proximity), DistanceMeasure.Miles),
                        GeoCode = new GeoCode(Convert.ToDouble(latitude), Convert.ToDouble(longitude), Convert.ToDouble(proximity), DistanceMeasure.Miles),
                        MaximumNumberOfResults = 5000
                    };

                    // Simple Search
                    var tweets = Search.SearchTweets(searchParameter);

                    if (tweets.Count() == 0)
                    {
                        tweetModel.searchTermCount1 = tweets.Count();
                    }
                    else
                    {
                        List <DateTime> tweetDateList = new List <DateTime>();

                        foreach (ITweet itm in tweets.ToList())
                        {
                            tweetDateList.Add(Convert.ToDateTime(itm.CreatedAt));
                        }

                        tweetDateList.Sort();
                        DateTime tweetDate = new DateTime();
                        tweetDate = tweetDateList.First();

                        double minDiff    = (DateTime.Now - tweetDate).TotalMinutes;
                        double hoursDiff  = (DateTime.Now - tweetDate).TotalHours;
                        int    avgPerMin  = (int)minDiff / (int)tweets.Count();
                        int    avgPerHour = (int)hoursDiff / (int)tweets.Count();

                        tweetModel.tweetsPerhr      = avgPerHour;
                        tweetModel.tweetsPerMin     = avgPerMin;
                        tweetModel.searchTermCount1 = tweets.Count();
                    }

                    // Return the count of tweets
                    return(tweetModel);
                }
                catch (Exception ex)
                {
                    string strError = "";
                    strError            = ex.ToString();
                    tweetModel.strError = strError;
                    return(tweetModel);
                }
            }
        }
        static void Main(string[] args)
        {
            string _ConsumerKey       = ConfigurationManager.AppSettings.Get("ConsumerKey");
            string _ConsumerSecret    = ConfigurationManager.AppSettings.Get("ConsumerSecret");
            string _AccessToken       = ConfigurationManager.AppSettings.Get("AccessToken");
            string _AccessTokenSecret = ConfigurationManager.AppSettings.Get("AccessTokenSecret");

            OAuthInfo oAuthInfo = new OAuthInfo
            {
                AccessSecret   = _AccessTokenSecret,
                AccessToken    = _AccessToken,
                ConsumerSecret = _ConsumerSecret,
                ConsumerKey    = _ConsumerKey
            };

            HideReplyService hideRepliesService = new HideReplyService(oAuthInfo);
            HideReplyModel   model = hideRepliesService.HideReply("1296341968176451585");

            // Sampled Stream Service Test
            SampledStreamService streamService = new SampledStreamService(oAuthInfo);

            streamService.DataReceivedEvent += StreamService_DataReceivedEvent;
            streamService.StartStream("https://api.twitter.com/2/tweets/sample/stream?expansions=attachments.poll_ids,attachments.media_keys,author_id,entities.mentions.username,geo.place_id,in_reply_to_user_id,referenced_tweets.id,referenced_tweets.id.author_id", 100, 5);

            // Recent Search
            RecentSearchService searchService = new RecentSearchService(oAuthInfo);

            List <RecentSearchResultsModel> resultsModels = searchService.SearchTweets("iphone", 100, 3);

            // Tweet(s)
            TweetService tweetsService = new TweetService(oAuthInfo);
            TweetModel   tweetModel    = tweetsService.GetTweet("1293779846691270658");

            List <string> tids = new List <string>();

            tids.Add("1293779846691270658"); // social opinion tweet
            tids.Add("1293779846691270658"); // social opinion tweet
            TweetsModel tweetModels = tweetsService.GetTweets(tids);

            // User(s)
            UserService userService = new UserService(oAuthInfo);
            UserModel   userModel   = userService.GetUser("socialopinions");

            List <string> users = new List <string>();

            users.Add("jamie_maguire1");
            users.Add("socialopinions");
            UsersModel usersResults = userService.GetUsers(users);

            // Metrics
            List <string> ids = new List <string>();

            ids.Add("1258736674844094465"); // social opinion tweet
            TweetMetricsService     service      = new TweetMetricsService(oAuthInfo);
            List <TweetMetricModel> metricModels = service.GetTweetMetrics(ids);

            // testing Filtered Stream
            FilteredStreamService filteredStreamService = new FilteredStreamService(oAuthInfo);

            List <FilteredStreamRule> rules = filteredStreamService.CreateRule(
                new MatchingRule {
                tag = "testing #iPhone", Value = "#iphone"
            });

            filteredStreamService.DataReceivedEvent += FilteredStreamService_DataReceivedEvent;
            filteredStreamService.StartStream("https://api.twitter.com/2/tweets/search/stream?tweet.fields=attachments,author_id,context_annotations,conversation_id,created_at,entities,geo,id,in_reply_to_user_id,lang,public_metrics,possibly_sensitive,referenced_tweets,source,text,withheld&expansions=author_id&user.fields=created_at,description,entities,id,location,name,pinned_tweet_id,profile_image_url,protected,public_metrics,url,username,verified,withheld", 10, 5);
        }
Exemple #23
0
        ////Select statement
        public List <twitter.Models.TweetsModel> Select(string strQuery)
        {
            List <twitter.Models.TweetsModel> rtnResponse = new List <twitter.Models.TweetsModel>();

            try
            {
                //open connection
                if (this.OpenConnection() == true)
                {
                    //create command and assign the query and connection from the constructor
                    MySqlCommand cmd = new MySqlCommand();

                    cmd.Connection  = connection;
                    cmd.CommandText = strQuery;
                    cmd.CommandType = CommandType.StoredProcedure;

                    //Execute command
                    using (var reader = cmd.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            twitter.Models.TweetsModel tweetModel = new twitter.Models.TweetsModel();
                            tweetModel.searchTerm1      = "";
                            tweetModel.searchTermCount1 = 0;
                            tweetModel.searchTerm2      = "";
                            tweetModel.searchTermCount2 = 0;
                            tweetModel.proximity        = "";
                            tweetModel.addressFrom      = "";
                            tweetModel.avgTermsPerHour1 = 0;
                            tweetModel.avgTermsPerHour2 = 0;
                            tweetModel.avgTermsPerMin1  = 0;
                            tweetModel.avgTermsPerMin2  = 0;

                            if (!reader.IsDBNull(reader.GetOrdinal("searchTerm1")))
                            {
                                tweetModel.searchTerm1 = reader.GetString(reader.GetOrdinal("searchTerm1")).ToString();
                            }
                            if (!reader.IsDBNull(reader.GetOrdinal("searchTerm1Count")))
                            {
                                tweetModel.searchTermCount1 = int.Parse(reader.GetString(reader.GetOrdinal("searchTerm1Count")));
                            }
                            if (!reader.IsDBNull(reader.GetOrdinal("searchTerm2")))
                            {
                                tweetModel.searchTerm2 = reader.GetString(reader.GetOrdinal("searchTerm2")).ToString();
                            }
                            if (!reader.IsDBNull(reader.GetOrdinal("searchTerm2Count")))
                            {
                                tweetModel.searchTermCount2 = int.Parse(reader.GetString(reader.GetOrdinal("searchTerm2Count")));
                            }
                            if (!reader.IsDBNull(reader.GetOrdinal("proximity")))
                            {
                                tweetModel.proximity = reader.GetString(reader.GetOrdinal("proximity")).ToString();
                            }
                            if (!reader.IsDBNull(reader.GetOrdinal("addressFrom")))
                            {
                                tweetModel.addressFrom = reader.GetString(reader.GetOrdinal("addressFrom")).ToString();
                            }
                            if (!reader.IsDBNull(reader.GetOrdinal("avgTermsPerHour1")))
                            {
                                tweetModel.avgTermsPerHour2 = int.Parse(reader.GetString(reader.GetOrdinal("avgTermsPerHour2")));
                            }
                            if (!reader.IsDBNull(reader.GetOrdinal("avgTermsPerMin1")))
                            {
                                tweetModel.avgTermsPerMin1 = int.Parse(reader.GetString(reader.GetOrdinal("avgTermsPerMin1")));
                            }
                            if (!reader.IsDBNull(reader.GetOrdinal("avgTermsPerMin2")))
                            {
                                tweetModel.avgTermsPerMin2 = int.Parse(reader.GetString(reader.GetOrdinal("avgTermsPerMin2")));
                            }
                            rtnResponse.Add(tweetModel);
                        }
                    }

                    //close connection
                    this.CloseConnection();
                }

                return(rtnResponse);
            }
            catch (Exception ex)
            {
                //Need to send this to a log
                string strError = "";
                strError = ex.ToString();

                rtnResponse = new List <twitter.Models.TweetsModel>();
                TweetsModel tweetModel = new TweetsModel();

                tweetModel.strError += "Error Occured Select tweets: " + strError;

                rtnResponse.Add(tweetModel);
                return(rtnResponse);
            }
        }
Exemple #24
0
 //private static TweetsModel Tweets = new TweetsModel(TwitterService.GetAllTweets());
 /// <summary>
 ///     Action Index
 /// </summary>
 /// <returns> View with list tweets </returns>
 public ActionResult Index()
 {
     return(View(TweetsModel.ToViewModel()));
 }
Exemple #25
0
        public bool SetTweets(TweetsModel tweetModel)
        {
            twitterAccess = new TwitterAccess();

            return(twitterAccess.SetTwitterData(tweetModel));
        }
Exemple #26
0
        public ActionResult SearchTwitterPost(string btnClearSearch, string txtSearchTerm1, string txtSearchTerm2, string txtAddressFrom, string txtProximity)
        {
            TweetsModel Model  = new TweetsModel();
            int         chkInt = 0;

            if (txtProximity == "" || txtProximity == "0")
            {
                Model.strError = "Proximity must be Greater than 0 and not empty.";
            }
            else if (!int.TryParse(txtProximity, out chkInt))
            {
                Model.strError = "Proximity must be an integer";
            }
            else if (Convert.ToInt16(txtProximity) < 0)
            {
                Model.strError = "Proximity must be Greater than 0";
            }


            if (Model.strError != null && Model.strError != "")
            {
                return(View(Model));
            }

            string             strSearchOne    = txtSearchTerm1;
            string             strSearchTwo    = txtSearchTerm2;
            int                tweetCountTerm1 = 0;
            List <TweetsModel> rtnResponse     = new List <TweetsModel>();
            TweetsModel        tempModel       = new TweetsModel();

            System.Guid tweetID = Guid.NewGuid();
            Model.tweetID     = tweetID.ToString();
            Model.addressFrom = txtAddressFrom;
            Model.proximity   = txtProximity;

            if (btnClearSearch != null && btnClearSearch.ToLower() == "clear")
            {
                return(RedirectToAction("Index", "Home"));
            }

            if (strSearchOne != "")
            {
                tempModel = new TweetsModel();
                tempModel = GetTweets(strSearchOne, txtAddressFrom, txtProximity);
                if (tempModel.strError == null || tempModel.strError == "")
                {
                    tweetCountTerm1        = tempModel.searchTermCount1;
                    Model.searchTerm1      = strSearchOne;
                    Model.avgTermsPerHour1 = tempModel.tweetsPerhr;
                    Model.avgTermsPerMin1  = tempModel.tweetsPerMin;
                    Model.searchTermCount1 = tempModel.searchTermCount1;
                }
                else
                {
                    Model.strError = tempModel.strError;
                }
            }
            else
            {
                Model.strError = "Term 1 box needs to be populated.";
            }

            if (strSearchTwo != "")
            {
                tempModel = new TweetsModel();
                tempModel = GetTweets(strSearchTwo, txtAddressFrom, txtProximity);
                if (tempModel.strError == null || tempModel.strError == "")
                {
                    tweetCountTerm1        = tempModel.searchTermCount1;
                    Model.searchTerm2      = strSearchTwo;
                    Model.avgTermsPerHour2 = tempModel.tweetsPerhr;
                    Model.avgTermsPerMin2  = tempModel.tweetsPerMin;
                    Model.searchTermCount2 = tempModel.searchTermCount1;
                }
                else
                {
                    Model.strError = tempModel.strError;
                }
            }
            else
            {
                if (Model.strError != null && Model.strError != "")
                {
                    Model.strError += "<br>";
                }
                Model.strError += "Term 2 box needs to be populated.";
            }

            if (Model.strError != null && Model.strError != "")
            {
                return(View(Model));
            }

            // Insert Tweet Model into Database for History.
            bool blnSuccess = SetTweets(Model);

            // Get Tweets from Datbase
            rtnResponse = GetTweetList();

            Model.showTweets  = true;
            Model.tweetsCount = rtnResponse;

            return(View(Model));
        }
Exemple #27
0
        public IActionResult Index()
        {
            try
            {
                var ip            = Request.HttpContext.Connection.RemoteIpAddress.ToString();
                var arti          = Request.HttpContext.Connection.RemotePort.ToString();
                var clientDetails = ip + ":" + arti;
                if (!_viewersService.GetAll().Any(i => i.ViewBlog == -1 && i.IP == clientDetails && i.Date.Contains(DateTime.Now.Date.ToString())))
                {
                    _viewersService.Create(new Viewers()
                    {
                        IP = clientDetails, ViewBlog = -1, Date = DateTime.Now.Date.ToString()
                    });
                }
            }
            catch (Exception)
            {
            }
            HomepageModels     model       = new HomepageModels();
            List <TweetsModel> tweetsModel = new List <TweetsModel>();

            try
            {
                model.Homepage = _homepageService.GetAll().Where(i => i.isApproved == true).First();
                try
                {
                    model.Subtitle = _subtitleService.GetSubtitleByHome(model.Homepage.HomepageId).Where(i => i.isApproved).ToList();
                }
                catch (Exception)
                {
                    model.Subtitle = null;
                }
            }
            catch (Exception)
            {
                model.Homepage = null;
            }

            model.WhatIDo = _whatIDoService.GetAll().Where(i => i.isApproved).Take(2).ToList();
            try
            {
                model.Tweets = _tweetsService.GetAll().Where(i => i.isApproved == true).First();
                Auth.SetUserCredentials(model.Tweets.ConsumerKey.Trim(), model.Tweets.ConsumerSecret.Trim(), model.Tweets.AccessToken.Trim(), model.Tweets.AccessTokenSecret.Trim());
                var user                   = Tweetinvi.User.GetAuthenticatedUser();
                var userIdentifier         = new UserIdentifier(model.Tweets.TwitterUsername.Trim());
                var userTimelineParameters = new UserTimelineParameters {
                    MaximumNumberOfTweetsToRetrieve = 11
                };
                var          tweets  = Timeline.GetUserTimeline(userIdentifier, userTimelineParameters);
                TwitterModel twModel = new TwitterModel
                {
                    Name         = user.Name,
                    SceenName    = user.ScreenName,
                    ProfileImage = user.ProfileImageUrlHttps,
                    Follower     = user.FollowersCount.ToString(),
                };
                model.TwitterModel = twModel;
                foreach (var item in tweets)
                {
                    TweetsModel tweet = new TweetsModel
                    {
                        Id          = item.Id.ToString(),
                        Text        = item.FullText,
                        CreatedDate = item.TweetLocalCreationDate.ToString(),
                        LikeCount   = item.FavoriteCount.ToString()
                    };
                    tweetsModel.Add(tweet);
                    model.TweetsModel = tweetsModel;
                }
                return(View(model));
            }
            catch (Exception)
            {
                model.TweetsModel = null;
                return(View(model));
            }
        }