Exemple #1
0
        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");
        }
Exemple #2
0
        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");
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        public List <Tweets> GetTweetsForSpecificUsers([FromRoute] string twitterUser)
        {
            var twitterLogic = new TwitterLogic(Configuration);

            var tweetList = twitterLogic.GetAllTweetsForUserName(twitterUser);

            return(tweetList);
        }
Exemple #5
0
 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);
     }
 }
Exemple #6
0
        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));
        }
Exemple #7
0
        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");
                    }
                }
            }
        }
Exemple #8
0
        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());
        }
Exemple #9
0
        public List <TwitterUsers> GetTweetsForUsers()
        {
            var twitterLogic = new TwitterLogic(Configuration);

            return(twitterLogic.GetTweetsForAllUsers());
        }