示例#1
0
        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);
        }