コード例 #1
0
        private IEnumerable <ValidationResult> Validate(ModuleSourceUpdateLocationCommand command)
        {
            var validationResultsBuilder = new ValidationResultsBuilder();

            validationResultsBuilder.Validate(FileSystemModuleSourceLocation.IsValid, command.Location, nameof(command.Location));

            return(validationResultsBuilder.GetValidationResults());
        }
コード例 #2
0
        public async Task <IActionResult> UpdateLocation(ModuleSourceUpdateLocationModel model)
        {
            var command       = new ModuleSourceUpdateLocationCommand(model.Id, model.ConcurrencyToken, model.Location);
            var commandResult = await _messageDispatcher.DispatchAsync(command);

            if (commandResult.IsSuccess)
            {
                return(RedirectToAction(nameof(Details), new { id = model.Id }));
            }

            return(GetActionResult(commandResult, model));
        }
コード例 #3
0
        public IDispatchResult Handle(ModuleSourceUpdateLocationCommand command)
        {
            var validationResults = Validate(command);

            if (validationResults.Any())
            {
                return(ValidationFailure(validationResults));
            }

            if (Entity is FileSystemModuleSource fileSystemModuleSource)
            {
                fileSystemModuleSource.Location = (FileSystemModuleSourceLocation)command.Location;
                return(Success());
            }

            return(Failure());
        }