private void tsDelete_Click(object sender, EventArgs e) { //删除确认 IList <VcEffect> Effects = new List <VcEffect>(); foreach (BaseEntity ety in MainGrdBind.SelectedObjects) { ExIList.Append <VcEffect>(this.grpMbrBF.EffectOfDelete(ety), Effects); } if (!ConfirmEffectFm.Confirm(Effects)) { return; } //删除 MainGrd.SelectionChanged -= MainGrd_SelectionChanged; try { IList <BaseEntity> SelectObjects = MainGrdBind.SelectedObjects; foreach (BaseEntity ety in SelectObjects) { MainBF.Delete(ety); } MainGrdBind.Remove(SelectObjects); } finally { MainGrd.SelectionChanged += MainGrd_SelectionChanged; } //界面更新 //if (MainGrd.RowCount == 0) //删没了后不会触发SelectionChanged MainGrd_SelectionChanged(sender, e); }
private void btnAttachRemove_Click(object sender, EventArgs e) { //数据准备 BaseEntity MainEty = MainGrdBind.Current as BaseEntity; //删除确认 IList <VcEffect> Effects = new List <VcEffect>(); foreach (BaseEntity ety in AttachGrdBind.SelectedObjects) { ExIList.Append <VcEffect>(this.grpMbrBF.EffectOfReleaseRln(MainEty, ety), Effects); } if (!ConfirmEffectFm.Confirm(Effects)) { return; } //删除 foreach (Object obj in AttachGrdBind.SelectedObjects) { GrpMbrBF.ReleaseRln(MainEty, obj as BaseEntity); } //界面更新 MainGrd_SelectionChanged(sender, e); }
public IList <EnLsnAct> GetLsnActs(BaseEntity Ety) { Debug.Assert(Ety is EnSquad || Ety is EnTeacher, "只有班级或教师才有课表:" + Ety); IList <EnLsnAct> Result = new List <EnLsnAct>(); if (Ety is EnTeacher) { foreach (EnClsLesson clsLsn in ThisModule.Dac.Lsn.eachClsLesson()) { if (clsLsn.Teacher.Id == Ety.Id) { ExIList.Append <EnLsnAct>(ThisModule.Dac.Lsn.GetLsnActs(clsLsn), Result); } } } else { foreach (EnClsLesson clsLsn in ThisModule.Dac.Lsn.eachClsLesson()) { if (clsLsn.Squad.Id == Ety.Id) { ExIList.Append <EnLsnAct>(ThisModule.Dac.Lsn.GetLsnActs(clsLsn), Result); } } } return(Result); }
/// <summary> /// 某班级所有待安排的课 /// </summary> public IList <EnLsnAct> GetFailLsnActs(EnSquad squad) { IList <EnLsnAct> Result = new List <EnLsnAct>(); ExIList.Append <EnLsnAct>(SqdScheduleList[squad].FailLsnActs, Result); return(Result); }
public void SetCourses(IList <BaseEntity> Crses) //此方法有问题的 { IList <BaseEntity> CrsesCopy = new List <BaseEntity>(); ExIList.Append <BaseEntity>(Crses, CrsesCopy); for (Int32 i = FcLsns.Count - 1; i >= 0; i--) { if (!CrsesCopy.Contains(FcLsns[i].course)) { FcLsns.RemoveAt(i); this.Modify = true; } else { CrsesCopy.Remove(FcLsns[i].course); } } if (CrsesCopy.Count == 0) { return; } IList <BaseEntity> Sqds = new GIListTypeChange <EnSquad, BaseEntity>(DataRule.Sqd.GetMembes(this.Grp)); foreach (EnSubject crs in CrsesCopy) { FcLesson Lsn = new FcLesson(this); Lsn.course = crs; Lsn.SharedTime = cSharedTime; foreach (EnSquad sqd in Sqds) { FcClsLesson ClsLsn = new FcClsLesson(Lsn); ClsLsn.squad = sqd; ClsLsn.SharedTime = Lsn.SharedTime; } FcLsns.Add(Lsn); } }
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); } }
public void SetRules(BaseEntity Ety, IList <VcRuleCell> Value) { List <KindIdent> KindIdents; Int32 RulesIdx; if (Find(Ety, out KindIdents, out RulesIdx)) { KindIdents[RulesIdx].Rules.Clear(); ExIList.Append <VcRuleCell>(Value, KindIdents[RulesIdx].Rules); } else { KindIdent ki = new KindIdent(Ety.GetType().Name); ExIList.Append <VcRuleCell>(Value, ki.Rules); if (KindIdents == null) { KindIdents = new List <KindIdent>(); KindIdents.Add(ki); RulesIdx = KindIdents.Count - 1; RuleBuf.Add(Ety.Id, KindIdents); } } ThisModule.OleDB.ExecuteNonQuery("Delete from TRule " + " where FKind = '" + Ety.GetType().Name + "'" + " and FId = " + Ety.Id); foreach (VcRuleCell rt in KindIdents[RulesIdx].Rules) { ThisModule.OleDB.ExecuteNonQuery("insert into TRule" + " (FKind, FId, FRule, FTime) values (" + "'" + Ety.GetType().Name + "'" + ", " + Ety.Id + ", " + (Int32)rt.Rule + ", " + VcTimeLogic.TimeToInt32(rt.Time) + ")"); } }
private void tsAttachAdd_Click(object sender, EventArgs e) { //数据准备 BaseEntity MainEty = MainGrdBind.Current as BaseEntity; IList <BaseEntity> OldRlns = new List <BaseEntity>(); ExIList.Append <BaseEntity>(GrpMbrBF.GetRlns(MainEty), OldRlns); IList <BaseEntity> NewRlns = new List <BaseEntity>(); ExIList.Append <BaseEntity>(OldRlns, NewRlns); //交互:用户选择 if (!this.mainDataIsGroup) { NewRlns = SelectIF.GroupSelectMulti(GrpMbrBF, NewRlns); if (NewRlns == null) { return; } } else { NewRlns = SelectIF.MemberSelectMulti(GrpMbrBF, NewRlns); if (NewRlns == null) { return; } } //删除/增加确认 IList <VcEffect> Effects = new List <VcEffect>(); foreach (BaseEntity ety in OldRlns) { if (!NewRlns.Contains(ety)) { ExIList.Append <VcEffect>(this.grpMbrBF.EffectOfReleaseRln(MainEty, ety), Effects); } } foreach (BaseEntity ety in NewRlns) { if (!OldRlns.Contains(ety)) { ExIList.Append <VcEffect>(this.grpMbrBF.EffectOfCreateRln(MainEty, ety), Effects); } } if (!ConfirmEffectFm.Confirm(Effects)) { return; } //删除/增加 foreach (BaseEntity ety in OldRlns) { if (!NewRlns.Contains(ety)) { GrpMbrBF.ReleaseRln(MainEty, ety); } } foreach (BaseEntity ety in NewRlns) { if (!OldRlns.Contains(ety)) { GrpMbrBF.CreateRln(MainEty, ety); } } //界面更新 MainGrd_SelectionChanged(sender, e); }