public static void RequestLeave(this Userx user, int ClassSelectID) { var db = new AppDbContext(); if (db.M_ProjectSelectModels.Find(ClassSelectID) == null) { throw new FPException("请假失败"); } if ((from t in db.M_LeaveModle where t.ClassID == ClassSelectID && t.StudentID == user.Origin.ID select 1).Count() > 0) { throw new FPException("已经请假"); } var model = new LeaveModel() { StudentID = user.Origin.ID, ClassID = ClassSelectID, IsApproved = false }; db.Entry(model).State = Microsoft.EntityFrameworkCore.EntityState.Added; db.SaveChanges(); }
public static PostResponseModel _AddRecord(PostInparamModel value) { try { using (var server = FrameCorex.RecoverService(value.Token, (c) => { Debug.WriteLine("Container Token not found Token: " + c); })) { if (!FrameCorex.ServiceInstanceInfo(server).IsLogin) { server.UserLogin(value.LID, value.PWD); FrameCorex.ServiceInstanceInfo(server).DisposeInfo = false; } Userx User = FrameCorex.ServiceInstanceInfo(server).User; foreach (var t in value.Params) { if (t.Value != null) { User.Records[t.Key] = t.Value; } } return(new PostResponseModel() { Message = "Record add successs", Result = Enums.APIResult.Success, UserLoginToken = FrameCorex.ServiceInstanceInfo(server).LoginHashToken }); } } catch (UserNotfindException ex) { return(new PostResponseModel() { Message = ex.Message, Result = Enums.APIResult.Error }); } catch (UserLoginPermissionException ex) { return(new PostResponseModel() { Message = ex.Message, Result = Enums.APIResult.Error }); } catch (UserPwdErrorException ex) { return(new PostResponseModel() { Message = ex.Message, Result = Enums.APIResult.Error }); } catch (FPException ex) { return(new PostResponseModel() { Message = ex.Message, Result = Enums.APIResult.Error }); } }
/// <summary> /// /// </summary> /// <param name="LID"></param> /// <param name="PWD"></param> /// <returns></returns> internal static bool _CheckLIDPWD(string LID, string PWD) { AppDbContext db = new AppDbContext(); string PWD_ori_hash = Userx.HashOripwd(LID, PWD); string PWD_ori_hash_aes = CurrnetAppEncryptor.Encrypt(PWD_ori_hash); var user = (from t in db.M_UserModels where t.LID == LID && t.PWD == PWD_ori_hash_aes select t).ToArray(); return(user.Length == 1); }
public static void FinishMission(this Userx user, int MissionID) { var db = new AppDbContext(); var model = db.M_MissionModel.Find(MissionID); if (model != null) { model.IsFinished = true; db.Entry(model).State = Microsoft.EntityFrameworkCore.EntityState.Modified; db.SaveChanges(); } }
public static void CancelLeave(this Userx user, int LeaveID) { var db = new AppDbContext(); var models = (from t in db.M_LeaveModle where t.ID == LeaveID select t).ToList(); if (models.Count != 1) { throw new FPException("撤销失败:未找到请假单"); } db.Entry(models[0]).State = Microsoft.EntityFrameworkCore.EntityState.Deleted; db.SaveChanges(); }
public static void ApproveLeave(this Userx user, int LeaveID) { var db = new AppDbContext(); var models = (from t in db.M_LeaveModle where t.ID == LeaveID && t.IsApproved == false select t).ToList(); if (models.Count != 1) { return; } models[0].IsApproved = true; models[0].ApprovedTeacherID = user.Origin.ID; db.Entry(models[0]).State = Microsoft.EntityFrameworkCore.EntityState.Modified; db.SaveChanges(); }
public static IEnumerable <MissionModel> QueryMissions(this Userx user) { if (user.Infos.Role == Enums.UserRole.Student) { var db = new AppDbContext(); return((from t in db.M_MissionModel where t.StudentID == user.Origin.ID select t).ToList()); } else if (user.Infos.Role == Enums.UserRole.Teacher) { var db = new AppDbContext(); return((from t in db.M_MissionModel where t.TeacherID == user.Origin.ID && t.IsFinished == false select t).ToList()); } else { return(null); } }
public static IEnumerable <LeaveModel> QueryLeave(this Userx user) { if (user.Infos.Role == Enums.UserRole.Student) { return((from t in (new AppDbContext()).M_LeaveModle where t.StudentID == user.Origin.ID && t.IsApproved == false select t).ToList()); } else if (user.Infos.Role == Enums.UserRole.Teacher) { var db = new AppDbContext(); var classs = (from t in db.M_ProjectModels where t.TeacherID == user.Origin.ID select t.Key).ToList(); var classselect = (from t in db.M_ProjectSelectModels where classs.Contains(t.ProjectID) select t.Key).ToList(); return((from t in (new AppDbContext()).M_LeaveModle where classselect.Contains(t.ClassID) && t.IsApproved == false select t).ToList()); } throw new FPException("请假单查询失败"); }
public static void CreateMission(this Userx user, int ClassID, string Name) { if (user.Infos.Role == Enums.UserRole.Student) { throw new FPException("需要教师角色"); } var db = new AppDbContext(); var stds = (from t in db.M_ProjectSelectModels where t.ProjectID == ClassID select t.StudentID).ToList(); foreach (var t in stds) { var model = new MissionModel() { StudentID = t, TeacherID = user.Origin.ID, Name = Name, IsFinished = false }; db.Entry(model).State = Microsoft.EntityFrameworkCore.EntityState.Added; } db.SaveChanges(); }
public static PostResponseModel _AddRecord(PostInparamModel value) { try { using (var server = FrameCorex.RecoverService(value.Token, (c) => { Debug.WriteLine("Container Token not found Token: " + c); })) { if (server.Info.User == null) { return new PostResponseModel() { Message = "登陆失败", Result = Enums.APIResult.Error, ExtResult = { } } } ; Userx User = FrameCorex.ServiceInstanceInfo(server).User; //if (string.IsNullOrEmpty(User.Origin.LID) || string.IsNullOrEmpty(User.Origin.PWD)) // throw new FPException("请先补全注册信息"); foreach (var t in value.Params) { if (t.Value != null) { User.Records[t.Key] = t.Value; } } return(new PostResponseModel() { Message = "Record add successs", Result = Enums.APIResult.Success, UserLoginToken = FrameCorex.ServiceInstanceInfo(server).LoginHashToken }); } } catch (UserNotfindException ex) { return(new PostResponseModel() { Message = ex.Message, Result = Enums.APIResult.Error }); } catch (UserLoginPermissionException ex) { return(new PostResponseModel() { Message = ex.Message, Result = Enums.APIResult.Error }); } catch (UserPwdErrorException ex) { return(new PostResponseModel() { Message = ex.Message, Result = Enums.APIResult.Error }); } catch (FPException ex) { return(new PostResponseModel() { Message = ex.Message, Result = Enums.APIResult.Error }); } }
/// <summary> /// /// </summary> public static void _CheckCreateDeaultUser() { AppDbContext db = new AppDbContext(); var guest = (from t in db.M_UserModels where t.LID == "Guest" select t).ToArray(); if (guest.Length == 0) { string PWD_ori_hash = Userx.HashOripwd("Guest", "Guest"); string PWD_ori_hash_aes = CurrnetAppEncryptor.Encrypt(PWD_ori_hash); Userx um = new UserModel() { LID = "Guest", PWD = PWD_ori_hash_aes }; um.Infos.UserPermission = Enums.Permission.Guest; db.Entry((UserModel)um).State = Microsoft.EntityFrameworkCore.EntityState.Added; } else { Userx um = guest[0]; if (um.Infos.UserPermission != Enums.Permission.Guest) { um.Infos.UserPermission = Enums.Permission.Guest; db.Entry((UserModel)um).State = Microsoft.EntityFrameworkCore.EntityState.Modified; } } var root = (from t in db.M_UserModels where t.LID == "Root" select t).ToArray(); if (root.Length == 0) { string PWD_ori_hash = Userx.HashOripwd("Root", "Root"); string PWD_ori_hash_aes = CurrnetAppEncryptor.Encrypt(PWD_ori_hash); Userx um = new UserModel() { LID = "Root", PWD = PWD_ori_hash_aes }; um.Infos.UserPermission = Enums.Permission.root; db.Entry((UserModel)um).State = Microsoft.EntityFrameworkCore.EntityState.Added; } else { Userx um = root[0]; if (um.Infos.UserPermission != Enums.Permission.root) { um.Infos.UserPermission = Enums.Permission.root; db.Entry((UserModel)um).State = Microsoft.EntityFrameworkCore.EntityState.Modified; } } var admin = (from t in db.M_UserModels where t.LID == "Admin" select t).ToArray(); if (admin.Length == 0) { string PWD_ori_hash = Userx.HashOripwd("Admin", "Admin"); string PWD_ori_hash_aes = CurrnetAppEncryptor.Encrypt(PWD_ori_hash); Userx um = new UserModel() { LID = "Admin", PWD = PWD_ori_hash_aes }; um.Infos.UserPermission = Enums.Permission.Administor; db.Entry((UserModel)um).State = Microsoft.EntityFrameworkCore.EntityState.Added; } else { Userx um = admin[0]; if (um.Infos.UserPermission != Enums.Permission.Administor) { um.Infos.UserPermission = Enums.Permission.Administor; db.Entry((UserModel)um).State = Microsoft.EntityFrameworkCore.EntityState.Modified; } } db.SaveChanges(); }
/// <summary> /// /// </summary> /// <param name="User"></param> /// <returns></returns> internal static string _FindEncryptToken(Userx User) => _CheckUserLogin(User) ? (from t in _ServiceInstances.Values where t.User == User select t).ToList()[0].EncryptToken : null;
/// <summary> /// /// </summary> /// <param name="User"></param> /// <returns></returns> internal static bool _CheckUserLogin(Userx User) => (from t in _ServiceInstances.Values where t.User == User select t).ToArray().Length > 0;
public static void AddSchoolBus(this Userx user) { }
public static IEnumerable <SchoolBusModel> GetAllSchoolBus(this Userx user) { return((from t in (new AppDbContext()).M_SchoolBusModel select t).ToList()); }