private IEnumerable <ValidationResult> Validate(ModuleSourceAddCommand command) { var validationResultsBuilder = new ValidationResultsBuilder(); validationResultsBuilder.Validate(ModuleSourceName.IsValid, command.Name, nameof(command.Name)); validationResultsBuilder.Validate(FileSystemModuleSourceLocation.IsValid, command.Location, nameof(command.Location)); return(validationResultsBuilder.GetValidationResults()); }
public async Task <IActionResult> Create(ModuleSourceCreateModel model) { var id = Guid.NewGuid(); var command = new ModuleSourceAddCommand(id, model.Name, model.Location); var commandResult = await _messageDispatcher.DispatchAsync(command); if (commandResult.IsSuccess) { return(RedirectToAction(nameof(Details), new { id })); } return(GetActionResult(commandResult, model)); }
public IDispatchResult Handle(ModuleSourceAddCommand command) { var validationResults = Validate(command); if (validationResults.Any()) { return(ValidationFailure(validationResults)); } var moduleSourceName = new ModuleSourceName(command.Name); var moduleSourceLocation = new FileSystemModuleSourceLocation(command.Location); Entity = new FileSystemModuleSource(command.Id, moduleSourceName, moduleSourceLocation); return(Success()); }