Пример #1
0
        public void AddJobLog()
        {
            var jobLogRepository = new JobLogRepository();

            jobLogRepository.Add(DateTime.Now.ToLongTimeString());
            var jobLog = jobLogRepository.GetLatest();
        }
Пример #2
0
        public UnitOfWork(MongoUrl connectionUrl, IMessageBroker broker, IMapper mapper)
        {
            Broker = broker;
            var client = new MongoClient(connectionUrl);

            Database = client.GetDatabase(connectionUrl.DatabaseName);

            ScriptRepository = new ScriptRepository(Database);
            ConnectionPropertiesRepository = new ConnectionPropertiesRepository(Database);
            JobRepository       = new JobRepository(Database);
            JobLogRepository    = new JobLogRepository(Database, mapper);
            DashboardRepository = new DashboardRepository(Database);
            FolderRepository    = new FolderRepository(Database);
        }
Пример #3
0
        public void Reindex(int threadsNum, string[] musicFolders, IMusicDao musicDao)
        {
            var jobLogRepository = new JobLogRepository();
            var lastIndexRun     = jobLogRepository.GetLatest();
            int songsInserted    = 0;

            var allSongFiles = musicDao.GetSongFiles(musicFolders[0]);
            var musicFiles   = from musicFile in allSongFiles.AsParallel()
                               where musicFile.IsMusicFile()
                               select musicFile;

/*            musicFiles = from musicFile in musicFiles.AsParallel()
 *                       where musicFile.LOCATION.IndexOf("Xbox Music") == -1
 *                       select musicFile;*/

/*            musicFiles = from musicFile in musicFiles.AsParallel()
 *                       where musicFile.LOCATION.IndexOf("KEXP") == -1
 *                       select musicFile; */

            musicFiles = from musicFile in musicFiles.AsParallel()
                         select musicFile.NormalizeFilename();

            var musicFilesModifiedDate = from musicFile in musicFiles.AsParallel()
                                         select new
            {
                song             = musicFile,
                modificationDate = musicFile.GetModificationDate()
            };

            var modifiedFiles = from musicFile in musicFilesModifiedDate.AsParallel()
                                where (musicFile.modificationDate > lastIndexRun.DateRun)
                                select musicFile.song;

            modifiedFiles = from musicFile in modifiedFiles.AsParallel()
                            select musicFile.Populate();

            var incompleteFiles = from musicFile in modifiedFiles.AsParallel()
                                  where !musicFile.TagsComplete()
                                  select musicFile;

            foreach (var file in incompleteFiles)
            {
                Debug.WriteLine("Incomplete tags: {0} ", file.LOCATION);
            }

            modifiedFiles = from musicFile in modifiedFiles.AsParallel()
                            where musicFile.TagsComplete()
                            select musicFile;

            var songsWithDbInfo = from song in modifiedFiles.AsParallel()
                                  select new
            {
                song       = song,
                existsInDb = song.InDb(musicDao)
            };

            var updatedFiles = from song in songsWithDbInfo.AsParallel()
                               where song.existsInDb
                               select song;

            var newFiles = from song in songsWithDbInfo.AsParallel()
                           where !song.existsInDb
                           select song;

            var insertedSongs = from song in newFiles
                                select musicDao.InsertSong(song.song);

            songsInserted = insertedSongs.ToArray().Length;

            foreach (var song in updatedFiles)
            {
                Debug.WriteLine("Updating: {0}", song.song.LOCATION);
                musicDao.UpdateSong(song.song.TITLE, song.song.ARTIST, song.song.ALBUM, song.song.GENRE, 0, 0, 0, song.song.LOCATION);
            }

            jobLogRepository.Add(songsInserted.ToString());

            musicDao.UpdateArtists();
        }
Пример #4
0
        public void ProcessSongFiles()
        {
            int maxSongsToInsert = 10;
            //            var folder = "e:\\Music";
            var folder = @"E:\Gdrive\Music";
            //var folder = @"d:\Music";

            var jobLogRepository = new JobLogRepository();
            var lastIndexRun     = jobLogRepository.GetLatest();
            int songsInserted    = 0;

            //            lastIndexRun.DateRun = new DateTime(2014, 2, 20);

            /*            Func<SONG, SONG> songFunc = (SONG song) =>
             *                      {
             *                              Console.WriteLine(song.LOCATION);
             *                              return song;
             *                      }; */

            var musicDao = GetMusicDao();

            var allSongFiles = musicDao.GetSongFiles(folder);
            var musicFiles   = from musicFile in allSongFiles
                               where musicFile.IsMusicFile()
                               //                             where musicFile.IsMp3File()
                               select musicFile;

            /*            var targetFilename = @"Pale Green Ghosts";
             *                      musicFiles = from musicFile in musicFiles
             *                                               where musicFile.LOCATION.IndexOf(targetFilename) > -1
             *                                               select musicFile; */

            musicFiles = from musicFile in musicFiles
                         select musicFile.NormalizeFilename();

            var musicFilesModifiedDate = from musicFile in musicFiles
                                         select new
            {
                song             = musicFile,
                modificationDate = musicFile.GetModificationDate()
            };

            //                         musicFile.CalculateModificationDate();

            var modifiedFiles = from musicFile in musicFilesModifiedDate
                                where (musicFile.modificationDate > lastIndexRun.DateRun)
                                select musicFile.song;

            /*            foreach (var musicFile in modifiedFiles)
             *                      {
             *                              testContextInstance.WriteLine("{0} {1}", musicFile.UPDATED, musicFile.LOCATION);
             *                      } */

            modifiedFiles = from musicFile in modifiedFiles
                            select musicFile.Populate();

            foreach (var modifiedFile in modifiedFiles)
            {
                if (modifiedFile.FILESIZE == null || modifiedFile.FILESIZE == 0)
                {
                    testContextInstance.WriteLine("{0}", "Error");
                }
                testContextInstance.WriteLine("{0}", modifiedFile.FILESIZE);
            }

/*			var incompleteFiles = from musicFile in modifiedFiles
 *                                                                where !musicFile.TagsComplete()
 *                                                                select musicFile;*/

            modifiedFiles = from musicFile in modifiedFiles
                            where musicFile.TagsComplete()
                            select musicFile;

            var songsWithDbInfo = from song in modifiedFiles
                                  select new
            {
                song       = song,
                existsInDb = song.InDb(musicDao)
            };

            var newFiles = from song in songsWithDbInfo
                           where !song.existsInDb
                           select song;

/*			            foreach (var newFile in newFiles)
 *                                              {
 *                                                      testContextInstance.WriteLine("{0}", newFile.song.LOCATION);
 *                                              } */

            var insertedSongs = from song in newFiles
                                select musicDao.InsertSong(song.song);

            songsInserted = insertedSongs.ToArray().Count();

/*			var updatedFiles = from song in songsWithDbInfo
 *                                                         where song.existsInDb
 *                                                         select musicDao.UpdateSong(song.song.TITLE, song.song.ARTIST, song.song.ALBUM, song.song.GENRE, 0, 0, song.song.FILESIZE, song.song.LOCATION);
 *
 *                      int numUpdatedFiles = updatedFiles.ToArray().Count();
 *                      songsInserted = insertedSongs.ToArray().Count(); */

            /*            foreach (var song in updatedFiles)
             *                      {
             *                              testContextInstance.WriteLine("Updated: {0}", song.song.LOCATION);
             * //                musicDao.UpdateSong(song.song.TITLE, song.song.ARTIST, song.song.ALBUM, song.song.GENRE, 0, 0, 0, song.song.LOCATION, song.song.HASH.ToArray());
             *                      }
             *
             *                      foreach (var file in incompleteFiles)
             *                      {
             *                              testContextInstance.WriteLine("Incomplete tags: {0} ", file.LOCATION);
             *                      } */

            /*            jobLogRepository.Add(songsInserted.ToString()); */
        }