private void LoadLesson() { foreach (OleDbDataReader reader in ThisModule.OleDB.EachRows( "select Id, FSquadGroup, FCourse, FIsSelfStudy, FSharedTime " + " from TLesson")) { EnLesson Lsn = new EnLesson(); Lsn.Id = Convert.ToInt64(reader[0]); Lsn.SquadGroup = ThisModule.Sqd.GrpDAC.Get(Convert.ToInt64(reader[1])); Lsn.Course = ThisModule.Crs.MbrDAC.Get(Convert.ToInt64(reader[2])); Lsn.IsSelfStudy = Convert.ToBoolean(reader[3]); Lsn.SharedTime = Convert.ToInt32(reader[4]); if (Lsn.SquadGroup == null) { ThisModule.ErrorLog.Error("VcLesson恢复错误:ID对应的实体不存在 " + " SquadGroup: " + reader[1]); continue; } if (Lsn.Course == null) { ThisModule.ErrorLog.Error("VcLesson恢复错误:ID对应的实体不存在 " + " Course: " + reader[2]); continue; } LsnContainer LsnCnt = new LsnContainer(); LsnCnt.Lsn = Lsn; Lsns.Add(LsnCnt.Lsn.Id, LsnCnt); } }
public IList <EnClsLesson> GetClsLessons(EnLesson Lesson) { IList <EnClsLesson> Result = new List <EnClsLesson>(); foreach (EnClsLesson clsLsn in Lsns[Lesson.Id].ClsLessons) { Result.Add(clsLsn); } return(Result); }
//以上方法为本层服务 public void RemoveLsn(EnLesson Lsn) { foreach (EnClsLesson clsLsn in GetCLsLessons(Lsn)) { ThisModule.Dac.Rule.DeleteRuleOfEty(clsLsn); } ThisModule.Dac.Rule.DeleteRuleOfEty(Lsn); ThisModule.Dac.Lsn.DeleteLesson(Lsn); ThisModule.SendDataChanged(); }
public void SaveLsnTree(EnLesson Lsn, IList <EnClsLesson> ClsLsns) { Debug.Assert(TestMaxSharedTime(Lsn, ClsLsns), "上课时间数据超出范围(0--" + VcTimeLogic.cMaxSharedTime + ")!"); Lsn = ThisModule.Dac.Lsn.SaveLesson(Lsn); foreach (EnClsLesson ClsLsn in ClsLsns) { ClsLsn.Lesson = Lsn; SaveClsLsnTree(ClsLsn); } ThisModule.SendDataChanged(); }
private Boolean TestMaxSharedTime(EnLesson Lsn, IList <EnClsLesson> ClsLsns) //保证SharedTime数据正常,过大没意义 { if (Lsn.SharedTime < 0 || Lsn.SharedTime > VcTimeLogic.cMaxSharedTime) { return(false); } foreach (EnClsLesson clsLsn in ClsLsns) { if (clsLsn.SharedTime < 0 || clsLsn.SharedTime > VcTimeLogic.cMaxSharedTime) { return(false); } } return(true); }
public EnLesson SaveLesson(EnLesson Value) { foreach (LsnContainer LsnCnt in Lsns.Values) { if (LsnCnt.Lsn.SquadGroup == Value.SquadGroup && LsnCnt.Lsn.Course == Value.Course) { LsnCnt.Lsn.SharedTime = Value.SharedTime; LsnCnt.Lsn.IsSelfStudy = Value.IsSelfStudy; ThisModule.OleDB.ExecuteNonQuery("update TLesson set " + " FSharedTime = " + Value.SharedTime + ", FIsSelfStudy = " + (Value.IsSelfStudy ? "True" : "False") + " where Id = " + LsnCnt.Lsn.Id); return(LsnCnt.Lsn); } } LsnContainer lc = new LsnContainer(); lc.Lsn = new EnLesson(); lc.Lsn.SharedTime = Value.SharedTime; lc.Lsn.IsSelfStudy = Value.IsSelfStudy; lc.Lsn.SquadGroup = Value.SquadGroup; lc.Lsn.Course = Value.Course; lc.Lsn.Id = Convert.ToInt64(ThisModule.OleDB.InsertAndReturnId_MS("insert into TLesson" + " (FSquadGroup, FCourse, FIsSelfStudy, FSharedTime) values (" + Value.SquadGroup.Id + ", " + Value.Course.Id + ", " + (Value.IsSelfStudy ? "True" : "False") + ", " + Value.SharedTime + ")")); Lsns.Add(lc.Lsn.Id, lc); return(lc.Lsn); }
public void Save() { //删除课程 IList <EnLesson> Lessons = DataRule.Lsn.GetLessons(Grp); foreach (EnLesson Lsn in Lessons) { if (!InLsns(Lsn.Course)) { DataRule.Lsn.RemoveLsn(Lsn); } } //保存与更新 foreach (FcLesson FcLsn in this.FcLsns) { EnLesson Lsn = new EnLesson(); IList <EnClsLesson> ClsLsns = new List <EnClsLesson>(); Lsn.SquadGroup = this.Grp; Lsn.Course = FcLsn.course; Lsn.IsSelfStudy = FcLsn.IsSelfStudy; Lsn.SharedTime = FcLsn.SharedTime; foreach (FcClsLesson FcClsLsn in FcLsn.FcClsLsns) { EnClsLesson ClsLsn = new EnClsLesson(); ClsLsn.Lesson = Lsn; ClsLsn.Squad = FcClsLsn.squad; ClsLsn.Teacher = FcClsLsn.teacher; ClsLsn.SharedTime = FcClsLsn.SharedTime; ClsLsns.Add(ClsLsn); } DataRule.Lsn.SaveLsnTree(Lsn, ClsLsns); } Modify = false; }
public void DeleteLesson(EnLesson Lesson) { LsnContainer LsnCnt = Lsns[Lesson.Id]; String SWhere = ""; foreach (EnClsLesson ClsLsn in LsnCnt.ClsLessons) { if (!String.IsNullOrEmpty(SWhere)) { SWhere = SWhere + " or "; } SWhere = SWhere + "FClsLesson = " + ClsLsn.Id; ClsLsns.Remove(ClsLsn.Id); } Lsns.Remove(Lesson.Id); if (!String.IsNullOrEmpty(SWhere)) { ThisModule.OleDB.ExecuteNonQuery("delete from TLsnAct where " + SWhere); } ThisModule.OleDB.ExecuteNonQuery("delete from TClsLesson where FLesson = " + Lesson.Id); ThisModule.OleDB.ExecuteNonQuery("delete from TLesson where Id = " + Lesson.Id); }
public IList <EnClsLesson> GetCLsLessons(EnLesson lsn) { return(ThisModule.Dac.Lsn.GetClsLessons(lsn)); }