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