public RegisterProductValidator(IProductUniquenessChecker uniquenessChecker) { RuleFor(p => p.Name).NotEmpty(); RuleFor(p => p.Cost).GreaterThan(0d); RuleFor(p => p.Name) .Must(name => uniquenessChecker.IsUniqueName(name) == true) .WithMessage(command => $"Продукт с названием '{command.Name}' уже содержится в базе"); }
public static Product Create(string name, double cost, IProductUniquenessChecker uniquenessChecker) { var result = new Product(name, cost); return(result); }
public RegisterProductCommandHandler(IProductRepository repository, IProductUniquenessChecker uniquenessChecker) { _repository = repository; _uniquenessChecker = uniquenessChecker; }