public ActionResult Create(ProcessedLink processedlink) { if (ModelState.IsValid) { _repository.Save(processedlink); return RedirectToAction("Index"); } return View(processedlink); }
public void ProcessStatus(TwitterStatus status) { // Exit the method if there are no entities if (status.Entities == null) return; var hashTag = _hashTagRepository.Linq() .FirstOrDefault(x => status.Text.ToLowerInvariant().Contains(x.Name.ToLowerInvariant())) ?? new HashTag {Name = "unknown"}; _logger.InfoFormat("HASH: {0}", hashTag); var entitiesSorted = status.Entities.OrderBy(e => e.StartIndex).Reverse(); foreach (var entity in entitiesSorted) { var loggedStatus = new LoggedStatus { CreatedDate = status.CreatedDate, Source = status.Source, Text = status.Text, User = status.User.ScreenName, UserImage = status.User.ProfileImageLocation, HtmlText = status.LinkifiedText(), TweetId = status.StringId }; var urlEntity = entity as TwitterUrlEntity; if (urlEntity != null) { try { var expandedLink = GetExpandedLink(urlEntity.Url); var foundLink = _processedLinkRepository.Linq().FirstOrDefault(x => x.ExpandedLink == expandedLink); if (foundLink == null) { var newLink = new ProcessedLink { Link = urlEntity.Url, ExpandedLink = expandedLink, Created = DateTime.Now, NumberOfTweets = 1, HashTag = hashTag.Name }; newLink.StatusContainingLink.Add(loggedStatus); _processedLinkRepository.Save(newLink); } else { foundLink.Modified = DateTime.Now; foundLink.NumberOfTweets = foundLink.StatusContainingLink.Count() + 1; foundLink.StatusContainingLink.Add(loggedStatus); _processedLinkRepository.Save(foundLink); } } catch (Exception e) { _logger.Error(e); } } } }