public TestBase(string testInfo) { string msg = $"{nameof(testInfo)} cannot be empty."; Check.NotNullOrEmptyOrWhitespace(testInfo, msg); string fileName = $"Data Source={testInfo}.sqlite"; MenuValidator menuValidator = new MenuValidator(); ModuleValidator moduleValidator = new ModuleValidator(); DbContextOptions <ControlPanelContext> dbContext = new DbContextOptionsBuilder <ControlPanelContext>() .UseSqlite(fileName) .UseLoggerFactory(LoggerFactory) .EnableDetailedErrors() .EnableSensitiveDataLogging() .Options; MenuBusinessLogic = new MenuBusinessLogic(menuValidator, dbContext); ModuleBusinessLogic = new ModuleBusinessLogic(MenuBusinessLogic, moduleValidator, dbContext); using (ControlPanelContext ctx = new ControlPanelContext(dbContext)) { ctx.Database.EnsureDeleted(); ctx.Database.EnsureCreated(); } }
public ModuleController( IModuleAppService moduleAppService, IMapper mapper) { _moduleAppService = moduleAppService; _mapper = mapper; _validator = new ModuleValidator(); }
public ModuleBusinessLogic( IMenuBusinessLogic menuBusinessLogic, ModuleValidator moduleValidator, DbContextOptions <ControlPanelContext> dbContextOptions) { _moduleValidator = moduleValidator ?? throw new ArgumentNullException(nameof(moduleValidator)); _dbContextOptions = dbContextOptions ?? throw new ArgumentNullException(nameof(dbContextOptions)); _menuBusinessLogic = menuBusinessLogic ?? throw new ArgumentNullException(nameof(menuBusinessLogic)); }
/// <summary> ///异步验证 /// </summary> public static async Task DoValidationAsync(IModuleRespository moduleRespository, Module module, string validatorType) { var moduleValidator = new ModuleValidator(moduleRespository); var validatorReresult = await moduleValidator.DoValidateAsync(module, validatorType); if (!validatorReresult.IsValid) { throw new DomainException(validatorReresult); } }
/// <summary> ///异步验证 /// </summary> public static async Task DoValidationAsync(IModuleRespository moduleRespository, IEnumerable <Module> modules, string validatorType) { var moduleValidator = new ModuleValidator(moduleRespository); var domainException = new DomainException(); foreach (var module in modules) { var validatorReresult = await moduleValidator.DoValidateAsync(module, validatorType); if (!validatorReresult.IsValid) { domainException.AddErrors(validatorReresult); } } if (domainException.ValidationErrors.ErrorItems.Any()) { throw domainException; } }