/// <summary> /// Provides a deterministic way to create the Tweets property. /// </summary> public static void CreateTweets() { if (_tweets == null) { _tweets = new TweetsViewModel(); } }
public HomeViewModel() { Overview = new OverviewViewModel(); Topics = new TopicListViewModel(); UpcomingSessions = new UpcomingSessionsViewModel(); Tweets = new TweetsViewModel(); }
public async Task <PartialViewResult> GetTweets() { TweetsViewModel tvm = new TweetsViewModel(); await tvm.LoadTweets(); return(PartialView("_TweetGrid", tvm)); }
public static TweetsViewModel GetTweetsForCurrentUser(string userName) { TweetsViewModel viewModel = new TweetsViewModel(); using (var dbContext = new Entities()) { var followingIDs = dbContext.Followings .Where(x => x.UserId == userName) .Select(x => x.FollowingId); var noOfFollowers = dbContext.Followings .Count(x => x.FollowingId == userName); var mytweets = dbContext.Tweets.Where(x => x.UserId == userName) .ToList(); var followersTweet = dbContext.Tweets.Where(x => followingIDs.Contains(x.UserId)) .ToList(); var allTweets = mytweets.Union(followersTweet) .OrderByDescending(x => x.Created); viewModel.NoOfFollowings = followingIDs.Count(); viewModel.NoOfFollowers = noOfFollowers; viewModel.NoOfTweets = mytweets.Count(); viewModel.Tweets = allTweets.ToList(); return(viewModel); } }
public TweetsListView(TweetsViewModel viewModel) { InitializeComponent(); BindingContext = viewModel; _viewModel = viewModel; var task = viewModel.Initialise(); }
public ActionResult EditTweet(int id) { var repository = new TweetRepository(); var tweetObj = repository.FindTweet(id); var tweetModel = new TweetsViewModel { user_id = tweetObj.Useridd, tweet_id = tweetObj.tweet_id, message = tweetObj.usermessage, created = tweetObj.created }; return(View(tweetModel)); }
public IActionResult Index(TweetsViewModel model) { var tweetsData = _tweetsProcessor.ProcessTweets(model.StartDate, model.EndDate); var distinctRecords = tweetsData.Distinct(new ItemEqualityComparer()); var tweetsViewModel = new TweetsViewModel() { Tweets = distinctRecords.ToList(), Count = tweetsData.ToList().Count, DuplicateCount = tweetsData.ToList().Count - distinctRecords.ToList().Count }; return(View(tweetsViewModel)); }
public ActionResult Tweet(TweetsViewModel objModel) { if (ModelState.IsValid) { var objTweet = new Tweet(); objTweet.usermessage = objModel.message; objTweet.created = DateTime.Now; objTweet.Useridd = User.Identity.Name; var tRep = new TweetRepository(); tRep.AddTweet(objTweet); ViewBag.msg = "Tweeted!!"; } return(View(objModel)); }
public static TweetsViewModel Create(TwitterSearchResponse response) { var viewModel = new TweetsViewModel(); foreach (var status in response.statuses) { var tweet = new TweetViewModel { User = $"@{status.user.screen_name}", Text = status.text, //ImageUrl = status.user.entities.url.urls.FirstOrDefault() == null ? string.Empty : status.user.entities.url.urls.FirstOrDefault().expanded_url }; viewModel.Tweets.Add(tweet); } return(viewModel); }
public ActionResult EditTweet(TweetsViewModel objTweetModel) { if (ModelState.IsValid) { var objTweet = new Tweet(); objTweet.usermessage = objTweetModel.message; objTweet.created = DateTime.Now; objTweet.Useridd = User.Identity.Name; objTweet.tweet_id = objTweetModel.tweet_id; var tRep = new TweetRepository(); tRep.EditTweet(objTweet); ViewBag.msg = "Editted Successfully"; } else { ViewBag.msg = "Error"; } return(View(objTweetModel)); }
private async void SetUpCredentials() { viewModel = new TweetsViewModel(); await viewModel.Initialise(); }
/// <summary> /// Provides a deterministic way to delete the Tweets property. /// </summary> public static void ClearTweets() { _tweets.Cleanup(); _tweets = null; }
public async Task <IActionResult> GetTweets() { string original_start_date = "2016-01-01T00:00:00.001Z"; DateTime original_start = DateTime.Parse(original_start_date); var sanitized_time = original_start.ToLocalTime(); DateTime startDateUnspecifiedKind = sanitized_time.ToUniversalTime(); DateTime startDate = DateTime.Parse(original_start_date); string endDate = "2017-12-31T23%3A59%3A59.001Z"; TweetsViewModel tweets = new TweetsViewModel(); // Performance testing between using Hashtable vs. LINQ query // Stopwatch sw = new Stopwatch(); // sw.Start(); // Disposes of httpclient when request is completed using (HttpClient request = new HttpClient()) { request.BaseAddress = new Uri("https://badapi.iqvia.io/api/v1/Tweets"); request.DefaultRequestHeaders.Accept.Clear(); bool lessThan100 = false; List <Tweet> listOfTweets = new List <Tweet>(); while (!lessThan100) { using (HttpResponseMessage response = await request.GetAsync("?startDate=" + startDate + "&endDate=" + endDate)) { if (response.IsSuccessStatusCode) { string tweetList = await response.Content.ReadAsStringAsync(); listOfTweets = JsonConvert.DeserializeObject <List <Tweet> >(tweetList); foreach (Tweet twt in listOfTweets) { if (!tweets.tweetIDs.Contains(twt.id) && twt.stamp.Year >= startDateUnspecifiedKind.Year) { // adds ID to hash table tweets.tweetIDs.Add(twt.id, 1); // adds tweet object to list tweets.tweetList.Add(twt); tweets.tweet_count++; } else if (tweets.tweetIDs.Contains(twt.id)) { // duplicate detected tweets.duplicate_count++; } } // # Method 2 - adding all, then use LINQ // tweets.tweetList.AddRange(listOfTweets); // Get the maximum time stamp in the list of tweets, update the time stamp startDate = listOfTweets.Max(t => t.stamp); lessThan100 = listOfTweets.Count() < 100; } else // bad response { lessThan100 = true; } } } // # Method 2 - with LINQ //tweets.tweetList = (from tweet in tweets.tweetList // where tweet.stamp >= startDateUnspecifiedKind // select tweet).ToList(); } // TESTING PURPOSES //sw.Stop(); //var time_elapsed = sw.Elapsed; return(View(tweets)); }
public App() { var viewModel = new TweetsViewModel(); MainPage = new NavigationPage(new TweetsListView(viewModel)); }
/// <summary> /// Provides a deterministic way to create the Tweets property. /// </summary> public static void CreateTweets() { if (_tweets == null) { _tweets = new TweetsViewModel(); } }
/// <summary> /// Provides a deterministic way to delete the Tweets property. /// </summary> public static void ClearTweets() { _tweets.Cleanup(); _tweets = null; }
public Tweets() { this.InitializeComponent(); ViewModel = new TweetsViewModel(); ViewModel.setPivotItems(); }
public MasterViewController(IntPtr handle) : base(handle) { _viewModel = new TweetsViewModel(); }