public ActionResult Create([Bind(Include = "Id,FullName,Description,Active,StartDate,EndDate")] ValidatorModel ruleModel)
        {
            if (ModelState.IsValid)
            {
                db.ValidatorModels.Add(ruleModel);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(ruleModel));
        }
        public ActionResult Create([Bind(Include = "ID,UndergraduateYears,FirstName,LastName,Gender,EntryScore,DoB,HasCriminalRecord,Province,BankBalance")] BKStudent bKStudent)
        {
            if (ModelState.IsValid && _validationService.ValidateStudent(bKStudent))
            {
                db.Students.Add(bKStudent);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(bKStudent));
        }
        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();
        }