private Series SetPropertiesAndValidate(Series newSeries) { if (string.IsNullOrWhiteSpace(newSeries.Path)) { var folderName = _fileNameBuilder.GetSeriesFolder(newSeries); newSeries.Path = Path.Combine(newSeries.RootFolderPath, folderName); } newSeries.CleanTitle = newSeries.Title.CleanSeriesTitle(); newSeries.SortTitle = SeriesTitleNormalizer.Normalize(newSeries.Title, newSeries.TvdbId); newSeries.Added = DateTime.UtcNow; if (newSeries.AddOptions != null && newSeries.AddOptions.Monitor == MonitorTypes.None) { newSeries.Monitored = false; } var validationResult = _addSeriesValidator.Validate(newSeries); if (!validationResult.IsValid) { throw new ValidationException(validationResult.Errors); } return(newSeries); }
public Series AddSeries(Series newSeries) { Ensure.That(newSeries, () => newSeries).IsNotNull(); newSeries = AddSkyhookData(newSeries); if (string.IsNullOrWhiteSpace(newSeries.Path)) { var folderName = _fileNameBuilder.GetSeriesFolder(newSeries); newSeries.Path = Path.Combine(newSeries.RootFolderPath, folderName); } newSeries.CleanTitle = newSeries.Title.CleanSeriesTitle(); newSeries.SortTitle = SeriesTitleNormalizer.Normalize(newSeries.Title, newSeries.TvdbId); newSeries.Added = DateTime.UtcNow; var validationResult = _addSeriesValidator.Validate(newSeries); if (!validationResult.IsValid) { throw new ValidationException(validationResult.Errors); } _logger.Info("Adding Series {0} Path: [{1}]", newSeries, newSeries.Path); _seriesService.AddSeries(newSeries); return(newSeries); }
public Series AddSeries(Series newSeries) { Ensure.That(newSeries, () => newSeries).IsNotNull(); if (string.IsNullOrWhiteSpace(newSeries.Path)) { var folderName = _fileNameBuilder.GetSeriesFolder(newSeries); newSeries.Path = Path.Combine(newSeries.RootFolderPath, folderName); } _logger.Info("Adding Series {0} Path: [{1}]", newSeries, newSeries.Path); newSeries.CleanTitle = newSeries.Title.CleanSeriesTitle(); newSeries.SortTitle = SeriesTitleNormalizer.Normalize(newSeries.Title, newSeries.TvdbId); newSeries.Added = DateTime.UtcNow; _seriesRepository.Insert(newSeries); _eventAggregator.PublishEvent(new SeriesAddedEvent(GetSeries(newSeries.Id))); return(newSeries); }