private void SetCellData(DataTable setDataTable, string setValue, DayPeriodModel dayPeriod) { switch (dayPeriod.Day) { case DayOfWeek.Monday: setDataTable.Rows[dayPeriod.Period]["星期一"] = setValue; break; case DayOfWeek.Tuesday: setDataTable.Rows[dayPeriod.Period]["星期二"] = setValue; break; case DayOfWeek.Wednesday: setDataTable.Rows[dayPeriod.Period]["星期三"] = setValue; break; case DayOfWeek.Thursday: setDataTable.Rows[dayPeriod.Period]["星期四"] = setValue; break; case DayOfWeek.Friday: setDataTable.Rows[dayPeriod.Period]["星期五"] = setValue; break; case DayOfWeek.Saturday: setDataTable.Rows[dayPeriod.Period]["星期六"] = setValue; break; case DayOfWeek.Sunday: setDataTable.Rows[dayPeriod.Period]["星期日"] = setValue; break; } }
public static string GetDateInfo(DayPeriodModel dayPeriod) { string dayPeriodString = string.Empty; if (dayPeriod != null) { switch (dayPeriod.Day) { case DayOfWeek.Sunday: dayPeriodString = "星期日"; break; case DayOfWeek.Monday: dayPeriodString = "星期一"; break; case DayOfWeek.Tuesday: dayPeriodString = "星期二"; break; case DayOfWeek.Wednesday: dayPeriodString = "星期三"; break; case DayOfWeek.Thursday: dayPeriodString = "星期四"; break; case DayOfWeek.Friday: dayPeriodString = "星期五"; break; case DayOfWeek.Saturday: dayPeriodString = "星期六"; break; default: break; } dayPeriodString = dayPeriodString + dayPeriod.PeriodName; } return(dayPeriodString); }
/// <summary> /// 验证当前调整课程-佟良远 /// </summary> /// <param name="localID">本地方案ID</param> /// <param name="classID">班级ID</param> /// <param name="item">调整的项</param> /// <returns></returns> public static Tuple <List <DayPeriodModel>, List <PostionWithWarningInfo> > CheckCanAdjustPosition(string localID, string classID, List <ResultDetailModel> item, ResultModel resultModel) { var positions = GetMovablePositons(localID, classID, item, resultModel); //单向检查结果 List <DayPeriodModel> oneWayPositions = positions.Item1; //双向校验 List <DayPeriodModel> twoWayPositions = new List <DayPeriodModel>(); oneWayPositions?.ForEach(x => { List <ResultDetailModel> targetItem = resultModel.ResultClasses.Where(rc => rc.ClassID == classID)? .SelectMany(rc => rc.ResultDetails)?.ToList()? .Where(rd => rd.DayPeriod.Day == x.Day && rd.DayPeriod.PeriodName == x.PeriodName)?.ToList(); if ((targetItem?.Count() ?? 0) == 0) { twoWayPositions.Add(x); } else { Tuple <bool, string> checkresult = CanReplacePosition(localID, classID, item, targetItem, resultModel); if (checkresult.Item1) { twoWayPositions.Add(x); } } }); #region 在返回结果中增加当前课位 DayPeriodModel currentPosition = item?.FirstOrDefault()?.DayPeriod; if (currentPosition != null) { twoWayPositions = TimeOperation.TimeSlotUnion(twoWayPositions, new List <DayPeriodModel>() { currentPosition }); } #endregion return(Tuple.Create(twoWayPositions, positions.Item2)); }
public static Tuple <bool, string> CanReplacePosition(string localID, string classID, List <ResultDetailModel> sourceItem, List <ResultDetailModel> targetItem, ResultModel resultModel) { ICommonDataManager commonDataManager = CacheManager.Instance.UnityContainer.Resolve <ICommonDataManager>(); var cp = commonDataManager.GetCPCase(localID); var rule = commonDataManager.GetAminRule(localID); var algo = commonDataManager.GetAminAlgoRule(localID); var positionsSource = GetMovablePositons(localID, classID, sourceItem, resultModel); var positionsTarget = GetMovablePositons(localID, classID, targetItem, resultModel); DayPeriodModel dpSource = sourceItem.FirstOrDefault().DayPeriod; DayPeriodModel dpTarget = targetItem.FirstOrDefault().DayPeriod; if (dpTarget != null && positionsSource.Item1.Exists(dp => dp.Day == dpTarget.Day && dp.PeriodName == dpTarget.PeriodName) && dpSource != null && positionsTarget.Item1.Exists(dp => dp.Day == dpSource.Day && dp.PeriodName == dpSource.PeriodName)) { return(Tuple.Create(true, string.Empty)); } else { var sourceToTargetWarning = positionsSource.Item2.Where(dp => dp.DayPeriod.Day == dpTarget.Day && dp.DayPeriod.PeriodName == dpTarget.PeriodName).ToList(); var targetToSourceWarning = positionsTarget.Item2.Where(dp => dp.DayPeriod.Day == dpSource.Day && dp.DayPeriod.PeriodName == dpSource.PeriodName).ToList(); StringBuilder sb = new StringBuilder(100); sourceToTargetWarning?.ForEach(w => { sb.AppendLine(w.WaringMessage); }); targetToSourceWarning?.ForEach(w => { sb.AppendLine(w.WaringMessage); }); return(Tuple.Create(false, sb.ToString())); } }