/* Describtion : Class for Data Send From Client / Server * Company : Wuxi Xinje * Author : Somuns * DateTime : 2021/1/18 */ using System; using System.Collections.Generic; namespace StuMgmLib { public enum ClientFunc { // 普通用户允许的操作 /// /// 验证登录 /// VerifyLogin = 1, /// /// 获取所有课程信息 /// GetCourseInfo, /// /// 获取用户信息 /// GetUserInfo, /// /// 修改课程状态 /// ChangeCourseStatus, // 老师允许的操作 //100 //// 管理员允许的操作 //200 //GetSomeoneUserCInfo = 6, //SUpdateCourse = 4, //TUpdateCourse = 5, } public enum Lvl { NotFound = -1, Error = -2, Student = 99, Teacher = 199, Admin = 299, } public enum CourseStatus { } #region 基本收发类 [Serializable] public class Request { public ClientFunc Func; public short JobId; public string Token; public Request() { } public Request(ClientFunc func) { Func = func; } } [Serializable] public class Response { public bool Res; public string ErrMsg; public Response() { Res = true; } public Response(string errMsg) { Res = false; ErrMsg = errMsg; } } #endregion #region 用户登录 [Serializable] public class LoginReq : Request { public string Password; public LoginReq(string password) // Changed { Password = password; } } [Serializable] public class LoginRes : Response { public string Token; public Lvl Level; public LoginRes(string token, Lvl level) { Token = token; Level = level; } } #endregion #region 获取所有课程信息 [Serializable] public class CourseInfoReq : Request { } [Serializable] public class CourseInfoRes : Response { /// /// 课程ID /// public short Id; public short Pid; /// /// 该题所需用时(单位s) /// public int Time; public string Name; public string Content; public CourseInfoRes(short id, short pid, int time, string name, string content) { Id = id; Pid = pid; Time = time; Name = name; Content = content; } } #endregion #region 用户信息 [Serializable] public class UserInfoReq : Request { public short User; public UserInfoReq(short user) { short User = user; } } [Serializable] public class UserInfoRes : Response { public short JobId;//工号 public string Name;//姓名 /// /// 各课程的当前状态 /// public string Status; public UserInfoRes(short jobId, string name, string status) { short JobId = jobId; string Name = name; string Status = status; } // ..public DateTime Entry; //public string Details;//老师对于该生的描述 } #endregion #region 用户课程状态修改 public class CrsStasReq : Request { /// /// 需要修改者的工号 /// public short User; /// /// 需要修改的课程 /// public short Id; public CourseStatus Status; public CrsStasReq(short user, short id, CourseStatus status) { short User = user; short Id = id; CourseStatus Status = status; } } public class CrsStasRes : Response { } #endregion }