private void ValidateCategoryProperties(IEnumerable <Category> categories) { if (categories == null) { throw new ArgumentNullException(nameof(categories)); } //Validate categories var validator = new CategoryValidator(); foreach (var category in categories) { validator.ValidateAndThrow(category); } var groups = categories.GroupBy(x => x.CatalogId); foreach (var group in groups) { LoadDependencies(group, PreloadCategories(group.Key)); ApplyInheritanceRules(group); foreach (var category in group) { var validatioResult = _hasPropertyValidator.Validate(category); if (!validatioResult.IsValid) { throw new Exception($"Category properties has validation error: {string.Join(Environment.NewLine, validatioResult.Errors.Select(x => x.ToString()))}"); } } } }
public Category(string name, decimal discount) { Name = name; Discount = discount; var validator = new CategoryValidator(); validator.ValidateAndThrow(this); }
public void Execute(CategoryDto request) { _validator.ValidateAndThrow(request); var category = new Category { CategoryName = request.Name }; _context.Categories.Add(category); _context.SaveChanges(); }