public IResult Add(Car car) { ValidationTools.Validate(new CarValidator(), car); _carDal.Add(car); return(new SuccessResult(Messages.EntityAdded)); }
/// <summary> /// OnEntry Methodun girişinde kullan /// </summary> /// <param name="args"></param> public override void OnEntry(MethodExecutionArgs args) { //(IValidator) validator obje türünde değil de Ivalidator türünde olması için yazıldı var validator = (IValidator)Activator.CreateInstance(_validatorType); //ProductValidatior: AbstractValidator<Product> //ProductValidatior un base sınıfının birinci argumanını getir var entityType = _validatorType.BaseType.GetGenericArguments()[0]; //args çalıştırılan metod hakkında bilgi almamızı sağlar //Where(tüm argümanlarını parametrelerini gez veri tipini al eğer o tip entityType a eşitse entities e atama yap //örneğin Add metodunun parametre tüm paramatrelerini entities e ekle var entities = args.Arguments.Where(t => t.GetType() == entityType); //var validator = (IValidator)Activator.CreateInstance(_validatorType); //if (_validatorType.BaseType is null) return; //var entityType = _validatorType.BaseType.GetGenericArguments()[0]; //var entities = args.Arguments.Where(t => t.GetType() == entityType); //ValidatorToll: CrossCuttingConcerns.Validation.FluentValidation.ValidatorToll.cz //Gönderlen validator tipini(örneğin Product) ve parametre yazısına göre ValidatorTool.FluentValidate da validate et foreach (var entity in entities) { ValidationTools.Validate(validator, entity); } }
protected override void OnBefore(IInvocation invocation) { var validator = (IValidator)Activator.CreateInstance(_validatorType); var entityType = _validatorType.BaseType.GetGenericArguments()[0]; var entities = invocation.Arguments.Where(t => t.GetType() == entityType); foreach (var entity in entities) { ValidationTools.Validate(validator, entity); } }
protected override void OnBefore(IInvocation invocation) { var validator = (IValidator)Activator.CreateInstance(_validatorType); var entityType = _validatorType.BaseType.GetGenericArguments()[0];//0.prop u ifade eder, yani PRODUCT ı çeker //invocation method , bu methodun argumanlarına bak var entities = invocation.Arguments.Where(t => t.GetType() == entityType); foreach (var entity in entities) { ValidationTools.Validate(validator, entity); } }
public void Update(Arac entity) { ValidationTools.Validate(new AracValidator(), entity); _dal.Update(entity); }
public void Add(Arac entity) { ValidationTools.Validate(new AracValidator(), entity); _dal.Add(entity); }
public void Update(Fatura entity) { ValidationTools.Validate(new FaturaValidator(), entity); _dal.Update(entity); }
public void Add(Fatura entity) { ValidationTools.Validate(new FaturaValidator(), entity); _dal.Add(entity); }
public void Update(Product product) { ValidationTools.Validate(new ProductValidator(), product); _productDal.Update(product); }
public void Add(Product product) { ValidationTools.Validate(new ProductValidator(), product); _productDal.Add(product); }
public void Add(Ogrenci ogrenci) { ValidationTools.Validate(new OgrenciValidator(), ogrenci); _ogrenciDal.Add(ogrenci); }
public void Update(Konum entity) { ValidationTools.Validate(new KonumValidator(), entity); _dal.Update(entity); }
public void Add(Konum entity) { ValidationTools.Validate(new KonumValidator(), entity); _dal.Add(entity); }