public EpisodeFile MoveEpisodeFile(EpisodeFile episodeFile, Series series)
        {
            var episodes    = _episodeService.GetEpisodesByFileId(episodeFile.Id);
            var newFileName = _buildFileNames.BuildFileName(episodes, series, episodeFile);
            var filePath    = _buildFileNames.BuildFilePath(series, episodes.First().SeasonNumber, newFileName, Path.GetExtension(episodeFile.RelativePath));

            _logger.Debug("Renaming episode file: {0} to {1}", episodeFile, filePath);

            return(TransferFile(episodeFile, series, episodes, filePath, false));
        }
Esempio n. 2
0
        public string MoveEpisodeFile(EpisodeFile episodeFile, Series series)
        {
            var episodes    = _episodeService.GetEpisodesByFileId(episodeFile.Id);
            var newFileName = _buildFileNames.BuildFilename(episodes, series, episodeFile);
            var filePath    = _buildFileNames.BuildFilePath(series, episodes.First().SeasonNumber, newFileName, Path.GetExtension(episodeFile.Path));

            MoveFile(episodeFile, filePath);

            return(filePath);
        }
Esempio n. 3
0
        public EpisodeFile MoveEpisodeFile(EpisodeFile episodeFile, Series series)
        {
            var episodes = _episodeService.GetEpisodesByFileId(episodeFile.Id);
            var filePath = _buildFileNames.BuildFilePath(episodes, series, episodeFile, Path.GetExtension(episodeFile.RelativePath));

            EnsureEpisodeFolder(episodeFile, series, episodes.Select(v => v.SeasonNumber).First(), filePath);

            _logger.Debug("Renaming episode file: {0} to {1}", episodeFile, filePath);

            return(TransferFile(episodeFile, series, episodes, filePath, TransferMode.Move));
        }
Esempio n. 4
0
        public bool IsSatisfiedBy(List <Episode> episodes)
        {
            var episodeIds     = episodes.SelectList(e => e.Id);
            var episodeFileIds = episodes.Where(c => c.EpisodeFileId != 0).Select(c => c.EpisodeFileId).Distinct();

            foreach (var episodeFileId in episodeFileIds)
            {
                var episodesInFile = _episodeService.GetEpisodesByFileId(episodeFileId);

                if (episodesInFile.Select(e => e.Id).Except(episodeIds).Any())
                {
                    return(false);
                }
            }

            return(true);
        }