예제 #1
0
 private void DeletePublication(int bookId)
 {
     if (Publications != null)
     {
         var publication = Publications.FirstOrDefault(x => x.BookId == bookId);
         if (publication != null)
         {
             Publications.Remove(publication);
             SessionStateService.SessionState[BaseViewModel.ALL_PUBLICATIONS_SESSION_KEY] = Publications;
             PublicationsCollection.Remove(publication);
         }
     }
 }
예제 #2
0
        public static async Task Run([TimerTrigger("0 */5 * * * *")] TimerInfo myTimer, ILogger log)
        {
            IPublicationsCollection db = new PublicationsCollection();
            int count = 0;

            try
            {
                //get ID last 2 Publications in db
                int idLastPublication = await db.GetLastPublication();

                //get list URLs to scraper
                List <Publication> publicationsList = GetUrlPublications(idLastPublication);

                if (publicationsList.Count() > 0)
                {
                    List <Publication> publicationsList2 = new List <Publication>();
                    //get details of the Publications
                    Parallel.ForEach(publicationsList, publication =>
                    {
                        Publication publicationDetail = GetPublicationDetails(publication);
                        publicationDetail.DateScraper = DateTime.Now;
                        if (publicationDetail != null)
                        {
                            publicationsList2.Add(publicationDetail);
                        }
                    });
                    count = publicationsList2.Count();
                    if (count > 0)
                    {
                        await db.InsertPublications(publicationsList2);
                    }
                }
            }
            catch (Exception) { throw; }

            log.LogInformation($"C# Timer trigger function executed at: {DateTime.Now} - total= {count}");
        }