Ejemplo n.º 1
0
        public MovieModule(IBroadcastSignalRMessage signalRBroadcaster,
                           IMovieService moviesService,
                           IMovieTranslationService movieTranslationService,
                           IAddMovieService addMovieService,
                           IMapCoversToLocal coverMapper,
                           IManageCommandQueue commandQueueManager,
                           IUpgradableSpecification qualityUpgradableSpecification,
                           IConfigService configService,
                           RootFolderValidator rootFolderValidator,
                           MappedNetworkDriveValidator mappedNetworkDriveValidator,
                           MoviePathValidator moviesPathValidator,
                           MovieExistsValidator moviesExistsValidator,
                           MovieAncestorValidator moviesAncestorValidator,
                           RecycleBinValidator recycleBinValidator,
                           SystemFolderValidator systemFolderValidator,
                           ProfileExistsValidator profileExistsValidator,
                           MovieFolderAsRootFolderValidator movieFolderAsRootFolderValidator,
                           Logger logger)
            : base(signalRBroadcaster)
        {
            _moviesService                  = moviesService;
            _movieTranslationService        = movieTranslationService;
            _addMovieService                = addMovieService;
            _qualityUpgradableSpecification = qualityUpgradableSpecification;
            _configService                  = configService;
            _coverMapper         = coverMapper;
            _commandQueueManager = commandQueueManager;
            _logger = logger;

            GetResourceAll  = AllMovie;
            GetResourceById = GetMovie;
            CreateResource  = AddMovie;
            UpdateResource  = UpdateMovie;
            DeleteResource  = DeleteMovie;

            SharedValidator.RuleFor(s => s.QualityProfileId).ValidId();

            SharedValidator.RuleFor(s => s.Path)
            .Cascade(CascadeMode.StopOnFirstFailure)
            .IsValidPath()
            .SetValidator(rootFolderValidator)
            .SetValidator(mappedNetworkDriveValidator)
            .SetValidator(moviesPathValidator)
            .SetValidator(moviesAncestorValidator)
            .SetValidator(recycleBinValidator)
            .SetValidator(systemFolderValidator)
            .When(s => !s.Path.IsNullOrWhiteSpace());

            SharedValidator.RuleFor(s => s.QualityProfileId).SetValidator(profileExistsValidator);

            PostValidator.RuleFor(s => s.Path).IsValidPath().When(s => s.RootFolderPath.IsNullOrWhiteSpace());
            PostValidator.RuleFor(s => s.RootFolderPath)
            .IsValidPath()
            .SetValidator(movieFolderAsRootFolderValidator)
            .When(s => s.Path.IsNullOrWhiteSpace());
            PostValidator.RuleFor(s => s.Title).NotEmpty().When(s => s.TmdbId <= 0);
            PostValidator.RuleFor(s => s.TmdbId).NotNull().NotEmpty().SetValidator(moviesExistsValidator);

            PutValidator.RuleFor(s => s.Path).IsValidPath();
        }
Ejemplo n.º 2
0
        public MovieModule(IBroadcastSignalRMessage signalRBroadcaster,
                           IMovieService moviesService,
                           IMovieStatisticsService moviesStatisticsService,
                           ISceneMappingService sceneMappingService,
                           IMapCoversToLocal coverMapper,
                           RootFolderValidator rootFolderValidator,
                           MoviePathValidator moviesPathValidator,
                           MovieExistsValidator moviesExistsValidator,
                           DroneFactoryValidator droneFactoryValidator,
                           MovieAncestorValidator moviesAncestorValidator,
                           ProfileExistsValidator profileExistsValidator
                           )
            : base(signalRBroadcaster)
        {
            _moviesService           = moviesService;
            _moviesStatisticsService = moviesStatisticsService;

            _coverMapper = coverMapper;

            GetResourceAll        = AllMovie;
            GetResourcePaged      = GetMoviePaged;
            GetResourceById       = GetMovie;
            Get[TITLE_SLUG_ROUTE] = GetByTitleSlug; /*(options) => {
                                                     * return ReqResExtensions.AsResponse(GetByTitleSlug(options.slug), Nancy.HttpStatusCode.OK);
                                                     * };*/



            CreateResource = AddMovie;
            UpdateResource = UpdateMovie;
            DeleteResource = DeleteMovie;

            Validation.RuleBuilderExtensions.ValidId(SharedValidator.RuleFor(s => s.ProfileId));

            SharedValidator.RuleFor(s => s.Path)
            .Cascade(CascadeMode.StopOnFirstFailure)
            .IsValidPath()
            .SetValidator(rootFolderValidator)
            .SetValidator(moviesPathValidator)
            .SetValidator(droneFactoryValidator)
            .SetValidator(moviesAncestorValidator)
            .When(s => !s.Path.IsNullOrWhiteSpace());

            SharedValidator.RuleFor(s => s.ProfileId).SetValidator(profileExistsValidator);

            PostValidator.RuleFor(s => s.Path).IsValidPath().When(s => s.RootFolderPath.IsNullOrWhiteSpace());
            PostValidator.RuleFor(s => s.RootFolderPath).IsValidPath().When(s => s.Path.IsNullOrWhiteSpace());
            PostValidator.RuleFor(s => s.Title).NotEmpty();
            PostValidator.RuleFor(s => s.TmdbId).NotNull().NotEmpty().SetValidator(moviesExistsValidator);

            PutValidator.RuleFor(s => s.Path).IsValidPath();
        }
Ejemplo n.º 3
0
        public MovieModule(IBroadcastSignalRMessage signalRBroadcaster,
                           IMovieService movieService,
                           IAddMovieService addMovieService,
                           IMapCoversToLocal coverMapper,
                           RootFolderValidator rootFolderValidator,
                           MappedNetworkDriveValidator mappedNetworkDriveValidator,
                           MoviePathValidator moviesPathValidator,
                           MovieExistsValidator moviesExistsValidator,
                           MovieAncestorValidator moviesAncestorValidator,
                           SystemFolderValidator systemFolderValidator,
                           ProfileExistsValidator profileExistsValidator)
            : base(signalRBroadcaster)
        {
            _movieService    = movieService;
            _addMovieService = addMovieService;

            _coverMapper = coverMapper;

            GetResourceAll  = AllMovie;
            GetResourceById = GetMovie;

            CreateResource = AddMovie;
            UpdateResource = UpdateMovie;
            DeleteResource = DeleteMovie;

            SharedValidator.RuleFor(s => s.ProfileId).ValidId();

            SharedValidator.RuleFor(s => s.Path)
            .Cascade(CascadeMode.StopOnFirstFailure)
            .IsValidPath()
            .SetValidator(rootFolderValidator)
            .SetValidator(mappedNetworkDriveValidator)
            .SetValidator(moviesPathValidator)
            .SetValidator(moviesAncestorValidator)
            .SetValidator(systemFolderValidator)
            .When(s => !s.Path.IsNullOrWhiteSpace());

            SharedValidator.RuleFor(s => s.ProfileId).SetValidator(profileExistsValidator);

            PostValidator.RuleFor(s => s.Path).IsValidPath().When(s => s.RootFolderPath.IsNullOrWhiteSpace());
            PostValidator.RuleFor(s => s.RootFolderPath)
            .IsValidPath()
            .When(s => s.Path.IsNullOrWhiteSpace());
            PostValidator.RuleFor(s => s.Title).NotEmpty().When(s => s.TmdbId <= 0);
            PostValidator.RuleFor(s => s.TmdbId).NotNull().NotEmpty().SetValidator(moviesExistsValidator);

            PutValidator.RuleFor(s => s.Path).IsValidPath();
        }