public override void OnEntry(MethodExecutionArgs args) { var validator = (IValidator)Activator.CreateInstance(_validatiorType); var entityType = _validatiorType.BaseType.GetGenericArguments()[0];//ProductValidator'in ==>> AbstractValidator<Product>==>>Prodcut nesnesini aldık var entities = args.Arguments.Where(t => t.GetType() == entityType); foreach (var entity in entities)//Eğer metoda birden fazla nesne geliyorsa Örnek List<Product> product tipinde bütün nesnelerin validationunu kontrol ediyoruz. { ValidatorTools.FluentValidate(validator, entity); } }
public bool AddOrUpdate(TContext context, TEntity entity) { TValidator validator = new TValidator(); var validationResult = ValidatorTools.Validate(validator, entity); if (validationResult) { context.Set <TEntity>().AddOrUpdate(entity); } return(validationResult); }