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); } }
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); } }