/// <summary> /// 增加/修改班级信息 /// </summary> /// <param name="operation"></param> /// <param name="model"></param> public void OperateClassInfo(OperationType operation, RegularClassModel model) { string classID; int classSerial; int newIndex = 0; switch (operation) { case OperationType.Add: _dal.Add(model, out classID, out classSerial); model.ClassID = classID; model.ClassSerial = classSerial; RegularClassCollection.Add(model); break; case OperationType.Update: _dal.Update(model, out classSerial); model.ClassSerial = classSerial; RegularClassCollection[RegularClassCollection.IndexOf(RegularClassCollection.Where(c => c.ClassID == model.ClassID).First())] = model; OverdueChangedEvent?.Invoke(); break; } RegularClassCollection.Sort(); newIndex = RegularClassCollection.IndexOf(model); RegularClassChangedEvent?.Invoke(operation, model, newIndex); }
/// <summary> /// 界面通过该方法发起班级修改请求 /// </summary> /// <param name="operation"></param> /// <param name="model"></param> public void RaiseChangeRegularClassEvent(OperationType operation, RegularClassModel model) { if (operation == OperationType.Update) { model = RegularClassCollection.Where(c => c.ClassID == model.ClassID).First(); } ChangeRegularClassEvent?.Invoke(operation, model); }
public RegularClassManagement() { RegularClassCollection = _dal.GetList(); if (RegularClassCollection != null) { RegularClassCollection.Sort(); } else { RegularClassCollection = new List <RegularClassModel>(); } RegularClassRoutine = new Dictionary <string, List <RegularChangingModel> >(); List <RegularChangingModel> changingList = _dal.GetChangingList(); if (changingList != null) { foreach (List <RegularChangingModel> lst in changingList.GroupBy(r => r.RegularClassID).Select(g => g.ToList()).ToList()) { RegularClassRoutine.Add(lst[0].RegularClassID, lst); } } }
public string GetClassNameInHis(string regularClassID, DateTime hisDate) { string className; if (RegularClassRoutine.ContainsKey(regularClassID))// 有修改记录 { RegularChangingModel thres = RegularClassRoutine[regularClassID].Where(c => c.ChangingDate > hisDate).FirstOrDefault(); if (thres == null)//时间晚于最后一条修改记录 { className = RegularClassCollection.Where(r => r.ClassID == regularClassID).FirstOrDefault().ClassName; } else { className = thres.PreviousName; } } else { className = RegularClassCollection.Where(r => r.ClassID == regularClassID).FirstOrDefault().ClassName; } return(className); }