AppendixValidatorFactory.cs 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. using FluentValidation;
  2. using GreenTree.Nachtragsmanagement.Web.Models.Admin.User;
  3. using GreenTree.Nachtragsmanagement.Web.Models.Deviation;
  4. using GreenTree.Nachtragsmanagement.Web.Models.Site;
  5. using GreenTree.Nachtragsmanagement.Web.Validation.Admin.User;
  6. using System;
  7. using System.Collections.Generic;
  8. using System.Linq;
  9. using System.Web;
  10. namespace GreenTree.Nachtragsmanagement.Web.Validation
  11. {
  12. public class AppendixValidatorFactory : ValidatorFactoryBase
  13. {
  14. private static Dictionary<Type, IValidator> validators = new Dictionary<Type, IValidator>();
  15. static AppendixValidatorFactory()
  16. {
  17. validators.Add(typeof(IValidator<UserDataModel>), new UserDataModelValidator());
  18. validators.Add(typeof(IValidator<RoleDataModel>), new RoleDataModelValidator());
  19. validators.Add(typeof(IValidator<DeviationDataModel>), new DeviationDataModelValidator());
  20. validators.Add(typeof(IValidator<StatusDataModel>), new StatusDataModelValidator());
  21. validators.Add(typeof(IValidator<DisturbanceDataModel>), new DisturbanceDataModelValidator());
  22. validators.Add(typeof(IValidator<KindDataModel>), new KindDataModelValidator());
  23. validators.Add(typeof(IValidator<SiteDataModel>), new SiteDataModelValidator());
  24. }
  25. public override IValidator CreateInstance(Type validatorType)
  26. {
  27. IValidator validator;
  28. if (validators.TryGetValue(validatorType, out validator))
  29. {
  30. return validator;
  31. }
  32. return validator;
  33. }
  34. }
  35. }