Example #1
0
 public FolderService(IFolderRepository folderRepository, IFeatureManager featureManager, IFolderCommand folderCommand, IFileRepository fileRepository)
 {
     _folderRepository = folderRepository ?? throw new ArgumentNullException(nameof(folderRepository));
     _featureManager   = featureManager ?? throw new ArgumentNullException(nameof(featureManager));
     _folderCommand    = folderCommand ?? throw new ArgumentNullException(nameof(folderCommand));
     _fileRepository   = fileRepository ?? throw new ArgumentNullException(nameof(fileRepository));
 }
Example #2
0
 public FolderService(ISystemClock systemClock, ILogger <DiscussionService> logger, IPermissionsService permissionsService,
                      IFolderCommand folderCommand, IGroupCommand groupCommand)
 {
     _systemClock        = systemClock ?? throw new ArgumentNullException(nameof(systemClock));
     _folderCommand      = folderCommand ?? throw new ArgumentNullException(nameof(folderCommand));
     _groupCommand       = groupCommand ?? throw new ArgumentNullException(nameof(groupCommand));
     _permissionsService = permissionsService ?? throw new ArgumentNullException(nameof(permissionsService));
     _logger             = logger ?? throw new ArgumentNullException(nameof(logger));
 }
Example #3
0
        public FolderValidator(IFolderCommand folderCommand)
        {
            _folderCommand = folderCommand ?? throw new ArgumentNullException(nameof(folderCommand));
            RuleFor(model => model.Name)
            .NotEmpty()
            .WithMessage("Enter the folder name");

            RuleFor(model => model.Name)
            .MaximumLength(200)
            .WithMessage("Enter 200 or fewer characters");

            RuleFor(model => model.Description)
            .MaximumLength(4000)
            .WithMessage("Enter 4000 or fewer characters");

            RuleFor(model => model)
            .MustAsync(IsFolderUnique)
            .OverridePropertyName(nameof(FolderDto.Name))
            .WithMessage("Enter a unique folder name");
        }