public DisplayTweetsViewModel GetTweetResults(TweetQueryModel query) { List <Tweet> tweets = new List <Tweet>(); if (query.QueryType.ToLower() == "search") { tweets = _tweetData.FindBySearch(query.OriginalQuery); } else if (query.QueryType.ToLower() == "tag") { List <string> tags = _tagData.GetAllTags(); if (!tags.Contains(query.OriginalQuery)) { return(null); } else { tweets = _tweetData.FindByTag(query.OriginalQuery); } } else { return(null); } if (tweets == null) { return(null); } else { List <TweetsByOfficial> originalResults = _tweetsByOfficial.MatchTweetsToOfficial(tweets); var pageNumber = query.Page ?? 1; var onePageOfTweets = originalResults.SelectMany(x => x.Tweets) .OrderByDescending(tweet => tweet.Created) .ToList() .ToPagedList(pageNumber, 24); TweetFilter filter = new TweetFilter(); List <TweetsByOfficial> results = filter.FilterResults(originalResults, query.FilterOptions); onePageOfTweets = results.SelectMany(x => x.Tweets) .OrderByDescending(tweet => tweet.Created) .ToList() .ToPagedList(pageNumber, 24); var model = new DisplayTweetsViewModel(); model.QueryType = query.QueryType; model.Tweets = onePageOfTweets; model.OriginalQuery = query.OriginalQuery; model.FiltersSelected = query.FilterOptions; model.ResultInfo = new ResultInfo(originalResults); return(model); } }
public IActionResult Index() { HomeIndexViewModel model = new HomeIndexViewModel(); model.Tags = _tags.GetAllTags(); model.TweetQueryInputModel = new TweetQueryInputModel(); return(View(model)); }
public static Activity StartActivityWithTags(this ActivitySource activitySource, string operationName, ITags tags) { var activity = activitySource.StartActivity(operationName); // Apply tags if (tags != null) { foreach (var entry in tags.GetAllTags()) { activity.SetTag(entry.Key, entry.Value); } } return(activity); }
public Results GetTagList() { try { results.Result = tags.GetAllTags(); results.Code = 0; results.ErrorMessage = string.Empty; } catch (Exception ex) { logger.LogError(ex.Message); results.Code = 1; results.ErrorMessage = ex.Message; } return(results); }