public static void Start()
        {
            IEnumerable <Type> ruleTypes = AppDomain.CurrentDomain.GetAssemblies()
                                           .SelectMany(x => x.GetTypes())
                                           .Where(x => typeof(IValidationRule).IsAssignableFrom(x) && !x.IsInterface && !x.IsAbstract);

            var db = new BKDBContext();

            foreach (var type in ruleTypes)
            {
                var rule = Activator.CreateInstance(type) as IValidationRule;

                var ruleModel = new ValidatorModel(rule);
                //Debug.WriteLine($"[ValidationRuleConfig.Start] Found {ruleModel}");

                ValidatorModel _ruleModel = db.ValidatorModels.SingleOrDefault(x => x.FullName == ruleModel.FullName);
                if (_ruleModel == null)
                {
                    Debug.WriteLine($"[ValidationRuleConfig.Start] Adding {ruleModel}");
                    db.ValidatorModels.Add(ruleModel);

                    db.SaveChanges();
                }
            }
            db.Dispose();
        }
 protected override void Dispose(bool disposing)
 {
     if (disposing)
     {
         db.Dispose();
     }
     base.Dispose(disposing);
 }