public string GetArticlessForAll() { List <Rssfeeds> allFeeds; using (DB_A41BC9_aml630Context db = new DB_A41BC9_aml630Context()) { allFeeds = db.Rssfeeds.ToList(); foreach (var feed in allFeeds) { BackgroundJob.Enqueue(() => GetAllResourcesFromFeed(feed)); } var allTwitterAccounts = db.TwitterUsers.ToList(); var twitterLogic = new TwitterLogic(Configuration); foreach (var twtUser in allTwitterAccounts) { BackgroundJob.Enqueue(() => twitterLogic.GetAllResourcesFromTwitterUser(twtUser)); } } return("Success"); }
public string CreateDailyCheck() { List <Rssfeeds> allFeeds; using (DB_A41BC9_aml630Context db = new DB_A41BC9_aml630Context()) { allFeeds = db.Rssfeeds.ToList(); foreach (var feed in allFeeds) { RecurringJob.AddOrUpdate("RSS:-" + feed.FeedTitle, () => GetAllResourcesFromFeed(feed), Cron.Daily); } var allTwitterAccounts = db.TwitterUsers.ToList(); var twitterLogic = new TwitterLogic(Configuration); foreach (var twtUser in allTwitterAccounts) { RecurringJob.AddOrUpdate("Twtr:-" + twtUser.TwitterUsername, () => twitterLogic.GetAllResourcesFromTwitterUser(twtUser), Cron.Daily); } } return("Success"); }
private void UpdateTopicDetail(int topicType, JObject json, TwitterLogic twitterLogic) { var topicRecord = twitterLogic.LoadRecordByTopicType <SearchModel>(topicType); var dailyCountList = topicRecord.dailyCountList; foreach (var jsonObject in json["statuses"]) { var dateTime = DateTime.ParseExact( jsonObject["created_at"].ToString(), "ddd MMM dd HH:mm:ss +0000 yyyy", CultureInfo.InvariantCulture); var date = dateTime.ToString("yyyy-MM-dd"); var hasItem = false; foreach (var dailyCount in dailyCountList.Where(dailyCount => dailyCount.date == date)) { dailyCount.count++; hasItem = true; } if (!hasItem) { dailyCountList.Add(new DailyCountModel { date = date, count = 1 }); } } topicRecord.dailyCountList = dailyCountList; topicRecord.nextResultUrl = json["search_metadata"]["next_results"].ToString(); twitterLogic.UpsertRecordByTopic(topicType, topicRecord); }
public List <Tweets> GetTweetsForSpecificUsers([FromRoute] string twitterUser) { var twitterLogic = new TwitterLogic(Configuration); var tweetList = twitterLogic.GetAllTweetsForUserName(twitterUser); return(tweetList); }
public List <SearchModel> GetHotTopicsCount() { try { var twitterDbLogic = new TwitterLogic(); var searchResult = twitterDbLogic.LoadRecords <SearchModel>(); return(searchResult); } catch (Exception e) { throw new WebFaultException <MyFaults>( new MyFaults(MyFaults.ErrorCode.Unknown, "100", e), HttpStatusCode.BadRequest); } }
public async Task <IActionResult> PostTwitterUsers([FromBody] TwitterUsers twitterUsers) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } twitterUsers.DateCreated = DateTime.UtcNow; var twitterLogic = new TwitterLogic(Configuration); var userInfo = twitterLogic.GetTwitterUserInfo(twitterUsers); twitterUsers.Image = userInfo.ProfileImageUrlFullSize; _context.TwitterUsers.Add(twitterUsers); await _context.SaveChangesAsync(); return(CreatedAtAction("GetTwitterUsers", new { id = twitterUsers.TwitterUserId }, twitterUsers)); }
private string Search(string searchTopic, int topicType) { var twitterDbLogic = new TwitterLogic(); var currentRecord = twitterDbLogic.LoadRecordByTopicType <SearchModel>(topicType); var searchQuery = currentRecord.nextResultUrl.IsEmpty() ? "?result_type=recent&include_entities=0&count=100&q=" + searchTopic : currentRecord.nextResultUrl; var apiRequest = (HttpWebRequest)WebRequest.Create(ConfigurationManager.AppSettings.Get("Twitter_Search_Url") + searchQuery); const string timelineHeaderFormat = "{0} {1}"; StaticsClass._token = StaticsClass._token.IsEmpty() ? new Authentication().RenewToken() : StaticsClass._token; apiRequest.Headers.Add("Authorization", string.Format(timelineHeaderFormat, "bearer", StaticsClass._token)); apiRequest.Method = WebRequestMethods.Http.Get; var timeLineResponse = apiRequest.GetResponse(); using (timeLineResponse) { using (var reader = new StreamReader(timeLineResponse.GetResponseStream() ?? throw new InvalidOperationException())) { var json = JObject.Parse(reader.ReadToEnd()); if (!json["statuses"].Any()) { return("DONE"); } Console.WriteLine(json["statuses"][0]["created_at"].ToString()); if (json["search_metadata"]["next_results"] != null) { UpdateTopicDetail(topicType, json, twitterDbLogic); return(json.GetValue("search_metadata").ToString()); } else { return("DONE"); } } } }
public async Task <IActionResult> PutTwitterUsers([FromRoute] int id, [FromBody] TwitterUsers twitterUsers) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != twitterUsers.TwitterUserId) { return(BadRequest()); } var twitterLogic = new TwitterLogic(Configuration); var userInfo = twitterLogic.GetTwitterUserInfo(twitterUsers); twitterUsers.Image = userInfo.ProfileImageUrlFullSize; _context.Entry(twitterUsers).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!TwitterUsersExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public List <TwitterUsers> GetTweetsForUsers() { var twitterLogic = new TwitterLogic(Configuration); return(twitterLogic.GetTweetsForAllUsers()); }