Пример #1
0
        public IList <VcRuleCell> GetRules(BaseEntity Ety)
        {
            IList <VcRuleCell> Result = new List <VcRuleCell>();

            List <KindIdent> KindIdents;
            Int32            RulesIdx;

            if (Find(Ety, out KindIdents, out RulesIdx))
            {
                ExIList.Append <VcRuleCell>(KindIdents[RulesIdx].Rules, Result);
                return(Result);
            }
            else
            {
                KindIdent ki = new KindIdent(Ety.GetType().Name);
                foreach (OleDbDataReader Reader in ThisModule.OleDB.EachRows("select FRule, FTime from TRule "
                                                                             + " where FKind = '" + ki.Kind + "'"
                                                                             + " and FId = " + Ety.Id))
                {
                    VcRuleCell rt = new VcRuleCell();
                    //rt.Rule = (eRule)ExMath.Bound(Convert.ToInt32(Reader[0]), (Int32)eRule.crisscross, (Int32)eRule.excellent, (Int32)eRule.common);

                    var rd = ExConvert.TryToInt32(Reader[0], 0);
                    rt.Rule = rd <(Int32)eRule.crisscross || rd> (Int32) eRule.excellent ? eRule.common : (eRule)rd;
                    rt.Time = VcTimeLogic.GetTimeFromInt32(Convert.ToInt32(Reader[1]));
                    ki.Rules.Add(rt);
                }
                if (KindIdents == null)
                {
                    KindIdents = new List <KindIdent>();
                    KindIdents.Add(ki);
                    RuleBuf.Add(Ety.Id, KindIdents);
                }
                else
                {
                    KindIdents.Add(ki);
                }

                ExIList.Append <VcRuleCell>(ki.Rules, Result);
                return(Result);
            }
        }
Пример #2
0
        private void LoadAct()
        {
            foreach (OleDbDataReader reader in ThisModule.OleDB.EachRows(
                         "select Id, FClsLesson, FTime, FLocked"
                         + " from TLsnAct"))
            {
                EnLsnAct Act = new EnLsnAct();
                Act.Id = Convert.ToInt64(reader[0]);
                VcTimeLogic.GetTimeFromInt32(Convert.ToInt32(reader[2])).CopyFieldTo(Act.Time);
                Act.Locked = Convert.ToBoolean(reader[3]);
                Int64 ClsLsnId = Convert.ToInt64(reader[1]);

                ClsLsnContainer ClsLsnCnt;
                if (!ClsLsns.TryGetValue(ClsLsnId, out ClsLsnCnt))
                {
                    ThisModule.ErrorLog.Error("VcLsnAct恢复错误:ID对应的实体不存在  "
                                              + "  ClsLesson: " + ClsLsnId);
                    continue;
                }

                Act.ClsLesson = ClsLsnCnt.ClsLsn;
                ClsLsnCnt.Acts.Add(Act);
            }
        }