public virtual void SetRules(IEnumerable <IRule> rules) { Rules = rules.OrderBy(x => x.Order).ToList(); Rules.ForEach(x => x.ExamItem = this); TempRules = rules.OrderBy(x => x.Order).ToList(); TempRules.ForEach(x => x.ExamItem = this); }
protected override IRule[] GetActiveRules(ExamItemExecutionContext context) { var dataService = Singleton.GetDataService; var query = from a in dataService.AllLightExamItems.First(x => x.GroupName == context.ExamGroup).LightRules.Split(',') let b = Convert.ToInt32(a) join c in TempRules.OfType <ILightRule>() on b equals c.Id select(IRule) c; var rules = query.ToArray(); return(rules); }