public ActionResult Create(SubmitTweetViewModel model) { var tweetViewModel = new TweetViewModel(); if (model != null && this.ModelState.IsValid) { var user = this.data .Users .GetById(this.User.Identity.GetUserId()); var newTweet = new Tweet() { Content = model.Content, User = user, CreationDate = DateTime.UtcNow }; this.data.Tweets.Add(newTweet); this.data.SaveChanges(); var hashTags = this.GetHashTags(model.Content); foreach (var hashTag in hashTags) { var resultHashTag = this.CreateOrUpdateHashTag(hashTag); newTweet.HashTags.Add(resultHashTag); this.data.HashTags.Update(resultHashTag); } this.data.Tweets.Update(newTweet); this.data.SaveChanges(); tweetViewModel.Content = newTweet.Content; tweetViewModel.CreationDate = newTweet.CreationDate; tweetViewModel.UserId = newTweet.UserId; tweetViewModel.Username = newTweet.User.UserName; } return PartialView("_Tweet", tweetViewModel); }