Пример #1
0
        private void ProcessingOneElementOfFeeds(string currentUrl, SyndicationItem feedItem)
        {
            Func <IPublication, bool> predicate = p => (p.PublicationDate == feedItem.PublishDate.DateTime) && (p.Title == feedItem.Title.Text);
            IPublication currentPublication     = database.FirstOrDefault(predicate);

            if (!SourceInfoList.ContainsKey(currentUrl))
            {
                SourceInfoList.Add(currentUrl, new SourceInfo());
            }

            SourceInfoList[currentUrl].ReadedPublicationСount++;

            if (currentPublication == null)
            {
                IPublication newPublication =
                    new Publication
                {
                    Title           = feedItem.Title.Text,
                    Description     = feedItem.Summary.Text,
                    Link            = feedItem.Id,
                    PublicationDate = feedItem.PublishDate.DateTime,
                    Source          = currentUrl
                };

                database.AddPublication(newPublication);
                SourceInfoList[currentUrl].SavedPublicationСount++;
            }
        }
 public IActionResult AddPublication(Publication publication)
 {
     publication.userId = this.User.GetUserId();
     _publicationRepo.AddPublication(publication);
     return(Ok());
 }