IPublicLessonsService 接口
- 程序集
- ClassIsland.Shared.IPC.dll
向其它进程公开的课程服务,用于存储当前课表状态与信息。
[IpcPublic(IgnoresIpcException = true)]
public interface IPublicLessonsService
属性
CurrentClassPlan
当前加载的课表。如果当前没有课表,则为 null。
ClassPlan? CurrentClassPlan { get; set; }
属性值
CurrentSelectedIndex
当前所处时间点TimeLayoutItem的索引。如无,则为 -1。
int CurrentSelectedIndex { get; set; }
属性值
CurrentState
当前时间点状态。
TimeState CurrentState { get; set; }
属性值
CurrentSubject
当前所处时间点TimeLayoutItem的科目。
如果当前是课间休息,则其中 Name(科目名) 为课间名称。
如果当前课程未定义,则为 Empty。
如果当前没有时间点,或没有加载课表,则为 null。
Subject? CurrentSubject { get; set; }
属性值
CurrentTimeLayoutItem
当前所处的时间点。如果当前没有时间点,则为 Empty。
TimeLayoutItem CurrentTimeLayoutItem { get; set; }
属性值
IsClassPlanEnabled
是否启用课表。
bool IsClassPlanEnabled { get; set; }
属性值
IsClassPlanLoaded
是否已加载课表。
bool IsClassPlanLoaded { get; set; }
属性值
IsLessonConfirmed
是否已确定当前时间点。
bool IsLessonConfirmed { get; set; }
属性值
IsTimerRunning
主计时器是否正在工作。
bool IsTimerRunning { get; }
属性值
MultiWeekRotation
本周多周轮换周数。
ObservableCollection<int> MultiWeekRotation { get; set; }
属性值
- ObservableCollection<int>
第 x 位数字是 y(MultiWeekRotation[x]=y)— 本周是 x 周轮换中的第 y 周。
例:
第 2 位数字是 1(MultiWeekRotation[2]=1)— 本周是 2 周轮换中的第 1 周。
第 4 位数字是 3(MultiWeekRotation[4]=3)— 本周是 4 周轮换中的第 3 周。
NextBreakingTimeLayoutItem
当前或下一个课间休息类型的时间点。如无,则为 Empty。
TimeLayoutItem NextBreakingTimeLayoutItem { get; set; }
属性值
NextClassSubject
当前或下一节课(下一个上课类型的时间点TimeLayoutItem)的科目。如无,则为 Empty。
Subject NextClassSubject { get; set; }
属性值
NextClassTimeLayoutItem
当前或下一个上课类型的时间点。如无,则为 Empty。
TimeLayoutItem NextClassTimeLayoutItem { get; set; }
属性值
OnBreakingTimeLeftTime
距下课剩余时间。如果当前不在上课,则为 Zero。
TimeSpan OnBreakingTimeLeftTime { get; set; }
属性值
OnClassLeftTime
距上课剩余时间。如果当前正在上课,或没有下一节课程,则为 Zero。
TimeSpan OnClassLeftTime { get; set; }
属性值
方法
GetClassPlanByDate(DateTime)
根据日期获取当天的课表ClassPlan。如果那天没有课表安排,则返回 null
ClassPlan? GetClassPlanByDate(DateTime date)
参数
date
DateTime要获取课表的日期
返回
- ClassPlan
获取到的课表