public override IList <VcEffect> EffectOfReleaseRln(BaseEntity Ety1, BaseEntity Ety2)
        {
            //移除班级与班级组关系后,此班级通过此组获得的课务安排会被删除
            EnSquadGroup Grp = Ety1 is EnSquadGroup ? Ety1 as EnSquadGroup : Ety2 as EnSquadGroup;
            EnSquad      Ety = Ety1 is EnSquad ? Ety1 as EnSquad : Ety2 as EnSquad;

            IList <VcEffect> Result = new List <VcEffect>();

            foreach (EnClsLesson clsLsn in DataRule.Lsn.eachClsLesson())
            {
                if (clsLsn.Lesson.SquadGroup.Id == Grp.Id &&
                    clsLsn.Squad.Id == Ety.Id)
                {
                    VcEffect eft = new VcEffect();
                    eft.ClsLesson   = clsLsn;
                    eft.Description = VcEffect.cWillBeDelete;
                    Result.Add(eft);
                }
            }
            return(Result);
        }
        public override IList <VcEffect> EffectOfCreateRln(BaseEntity Ety1, BaseEntity Ety2)
        {
            //增加班级与班级组关系后,此班级组的课务安排会自动应用到此班级
            EnSquadGroup Grp = Ety1 is EnSquadGroup ? Ety1 as EnSquadGroup : Ety2 as EnSquadGroup;
            EnSquad      Ety = Ety1 is EnSquad ? Ety1 as EnSquad : Ety2 as EnSquad;

            IList <VcEffect> Result = new List <VcEffect>();
            IList <EnLesson> Lsns   = DataRule.Lsn.GetLessons(Grp);

            foreach (EnLesson Lsn in Lsns)
            {
                VcEffect eft = new VcEffect();
                eft.ClsLesson        = new EnClsLesson();
                eft.ClsLesson.Lesson = Lsn;
                eft.ClsLesson.Squad  = Ety;
                eft.Description      = VcEffect.cWillBeCreate;
                Result.Add(eft);
            }

            return(Result);
        }
        public override IList <VcEffect> EffectOfDelete(BaseEntity Ety)
        {
            IList <VcEffect> Result = new List <VcEffect>();

            if (Ety is EnSquad)
            {
                //删除班级后,此班级的课务安排会被删除
                EnSquad Sqd = Ety as EnSquad;
                foreach (EnClsLesson clsLsn in DataRule.Lsn.eachClsLesson())
                {
                    if (clsLsn.Squad.Id == Sqd.Id)
                    {
                        VcEffect eft = new VcEffect();
                        eft.ClsLesson   = clsLsn;
                        eft.Description = VcEffect.cWillBeDelete;
                        Result.Add(eft);
                    }
                }
            }
            else
            {
                //删除班级组后,此组相关的所有课务会被删除
                EnSquadGroup SqdGrp = Ety as EnSquadGroup;
                foreach (EnClsLesson clsLsn in DataRule.Lsn.eachClsLesson())
                {
                    if (clsLsn.Lesson.SquadGroup.Id == SqdGrp.Id)
                    {
                        VcEffect eft = new VcEffect();
                        eft.ClsLesson   = clsLsn;
                        eft.Description = VcEffect.cWillBeDelete;
                        Result.Add(eft);
                    }
                }
            }

            return(Result);
        }
Пример #4
0
        public override IList <VcEffect> EffectOfDelete(BaseEntity Ety)
        {
            //课程删除后对应的课务安排会被删除
            if (!(Ety is EnSubject))
            {
                return(null);
            }

            IList <VcEffect> Result = new List <VcEffect>();
            EnSubject        crs    = Ety as EnSubject;

            foreach (EnClsLesson clsLsn in VC2WinFmApp.DataRule.Lsn.eachClsLesson())
            {
                if (clsLsn.Lesson.Course.Id == crs.Id)
                {
                    VcEffect eft = new VcEffect();
                    eft.ClsLesson   = clsLsn;
                    eft.Description = VcEffect.cWillBeDelete;
                    Result.Add(eft);
                }
            }

            return(Result);
        }
        public override IList <VcEffect> EffectOfDelete(BaseEntity Ety)
        {
            //教师删除后对应的课务安排会被设置为无授课/辅导教师
            if (!(Ety is EnTeacher))
            {
                return(null);
            }

            IList <VcEffect> Result = new List <VcEffect>();
            EnTeacher        tch    = Ety as EnTeacher;

            foreach (EnClsLesson clsLsn in VC2WinFmApp.DataRule.Lsn.eachClsLesson())
            {
                if (clsLsn.Teacher != null && clsLsn.Teacher.Id == tch.Id)
                {
                    VcEffect eft = new VcEffect();
                    eft.ClsLesson   = clsLsn;
                    eft.Description = clsLsn.Lesson.IsSelfStudy ? VcEffect.cWillNoGuider: VcEffect.cWillNoTeacher;
                    Result.Add(eft);
                }
            }

            return(Result);
        }