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(); } }
/// <summary> ///异步验证 /// </summary> public static async Task DoValidationAsync(IMenuRespository menuRespository, Menu menu, string validatorType) { var menuValidator = new MenuValidator(menuRespository); var validatorReresult = await menuValidator.DoValidateAsync(menu, validatorType); if (!validatorReresult.IsValid) { throw new DomainException(validatorReresult); } }
/// <summary> ///异步验证 /// </summary> public static async Task DoValidationAsync(IMenuRespository menuRespository, IEnumerable <Menu> menus, string validatorType) { var menuValidator = new MenuValidator(menuRespository); var domainException = new DomainException(); foreach (var menu in menus) { var validatorReresult = await menuValidator.DoValidateAsync(menu, validatorType); if (!validatorReresult.IsValid) { domainException.AddErrors(validatorReresult); } } if (domainException.ValidationErrors.ErrorItems.Any()) { throw domainException; } }
static void Main(string[] args) { IWriter writer = new ConsoleWriter(); IOption firstOption = new ConcatOption(writer); IOption secondOption = new UpperCaseOption(writer); IDictionary <int, IOption> Subdictionary = new Dictionary <int, IOption>(); IMenu <int> subMenu = new Menu <int>(Subdictionary); IMenuDisplayer <int> displaySubMenu = new ConsoleDisplayer <int>(writer); IValidator <int> validator = new MenuValidator <int>(); IReader reader = new ConsoleReader(writer); IDataReader <int> dataReader = new DataReader <int>(validator, reader); IUserMenu <int> userSubMenu = new UserMenu <int>(displaySubMenu, dataReader, writer); IOption thirdOption = new SubDicitonaryOption <int>(userSubMenu, subMenu); IOption lastOption = new ExitOption(); IMengedMenu <int> subMengedMenu = new MengedMenu <int>(subMenu); subMengedMenu.AddOption(1, firstOption); subMengedMenu.AddOption(4, lastOption); IDictionary <int, IOption> dictionary = new Dictionary <int, IOption>(); IMenu <int> menu = new Menu <int>(dictionary); IMengedMenu <int> mengedMenu = new MengedMenu <int>(menu); mengedMenu.AddOption(1, firstOption); mengedMenu.AddOption(2, secondOption); mengedMenu.AddOption(3, thirdOption); mengedMenu.AddOption(4, lastOption); IMenuDisplayer <int> displayMenu = new ConsoleDisplayer <int>(writer); //IValidator<int> validator = new MenuValidator<int>(); //IReader reader = new ConsoleReader(writer); //IDataReader<int> dataReader = new DataReader<int>(validator, reader); IUserMenu <int> mainMenu = new UserMenu <int>(displayMenu, dataReader, writer); mainMenu.Run(menu); }
public MenuBusinessLogic(MenuValidator menuValidator, DbContextOptions <ControlPanelContext> dbContextOptions) { _menuValidator = menuValidator ?? throw new ArgumentNullException(nameof(menuValidator)); _dbContextOptions = dbContextOptions ?? throw new ArgumentNullException(nameof(dbContextOptions)); }
public MenusController(IMenuService menuService, IUserService userService, MenuValidator validator) : base(userService) { _menuService = menuService; _validator = validator; }