コード例 #1
0
 public async void ShowNewsFromCategory(ArticleCategory category)
 {
     using (var db = new ArticleContext())
     {
         ArticleList = db.Articles.Where(x => x.Category == category && x.Country == Properties.Settings.Default.NewsSourceCountryCode).ToList();
     }
 }
コード例 #2
0
 public Test()
 {
     using (var db = new ArticleContext())
     {
         ArticleList = db.Articles.Where(x => x.Category == ArticleCategory.technology).ToList <Article>();
     }
 }
コード例 #3
0
 private void ClearDatabaseButton_Click(object sender, RoutedEventArgs e)
 {
     using (var db = new ArticleContext())
     {
         db.Articles.RemoveRange(db.Articles);
         db.SaveChanges();
     }
 }
コード例 #4
0
ファイル: MainWindow.xaml.cs プロジェクト: ksjc444/Projekt3
        /// <summary>
        /// Remove all entries from database that are older than specified number of days
        /// </summary>
        /// <param name="days"></param>
        private static void RemoveOlderFromDatabase(int days)
        {
            using (var db = new ArticleContext())
            {
                var toBeRemoved = db.Articles.Where(x => DbFunctions.DiffDays(x.PublishedAt, DateTime.Now) >= days);
                //foreach (var article in toBeRemoved)
                //{
                //    if (File.Exists(article.LocalPathToImage))
                //        File.Delete(article.LocalPathToImage);

                //}
                db.Articles.RemoveRange(toBeRemoved);
                db.SaveChanges();
            }
        }
コード例 #5
0
ファイル: MainWindow.xaml.cs プロジェクト: ksjc444/Projekt3
        private void ImageCleanup()
        {
            var dir = new DirectoryInfo(AppDomain.CurrentDomain.BaseDirectory + @"databaseImages\");

            if (dir.Exists)
            {
                foreach (var file in dir.GetFiles())
                {
                    using (var db = new ArticleContext())
                    {
                        if (!db.Articles.Where(x => x.LocalPathToImage == file.FullName).Any())
                        {
                            file.Delete();
                        }
                    }
                }
            }
        }
コード例 #6
0
ファイル: MainWindow.xaml.cs プロジェクト: ksjc444/Projekt3
        /// <summary>
        /// Adds article collection to database with specified category
        /// </summary>
        /// <param name="newsCollection"></param>
        /// <param name="category"></param>
        private static void AddToDatabase(ArticleCollection newsCollection, ArticleCategory category)
        {
            List <Article> newArticlesList = new List <Article>();

            using (var db = new ArticleContext())
            {
                foreach (var article in newsCollection.Articles)
                {
                    if (!db.Articles.Where(x => x.Category == category).Any(x => x.Url == article.Url))
                    {
                        article.Category         = category;
                        article.Country          = Properties.Settings.Default.NewsSourceCountryCode;
                        article.LocalPathToImage = DownloadImage(article.UrlToImage);

                        newArticlesList.Add(article);
                    }
                }

                db.Articles.AddRange(newArticlesList);
                db.SaveChanges();
            }
        }