/// <summary> /// 用户登陆操作 /// </summary> /// ①用用户名和密码去登陆图书馆系统,如果登陆成功,进行②,否则返回失败 /// ②检查数据库中是否存在该用户,存在则进行③,否则将该用户存入数据库 /// ③将该用户的用户名和密码和数据库中的对比,不同则更新 /// <param name="username"></param> /// <param name="password"></param> /// <returns></returns> public bool UserLogin(string username, string password) { IMULabHelper helper = new IMULabHelper(); if (helper.LoginRequest(username, password)) { User user = UserDAL.findUserByUsername(username); if (user != null) { //如果密码不同,则更新密码 if (user.Password != password) { if (!UserDAL.modifyUserPassword(user, password)) { return(false); } } } else { //将该用户存入数据库 User tempUser = new User(username, password); if (!UserDAL.saveUser(tempUser)) { return(false); } } return(true); } return(false); }
public static Task Exec(Task oldTask) { string[] dataArr = DateHelper.ToDateTime(oldTask.Time).ToString().Split(' '); string date; if (dataArr[0].Split('/')[1].Length > 1) { date = dataArr[0].Split('/')[0] + "-" + dataArr[0].Split('/')[1] + "-" + dataArr[0].Split('/')[2]; } else { date = dataArr[0].Split('/')[0] + "-0" + dataArr[0].Split('/')[1] + "-" + dataArr[0].Split('/')[2]; } string fr_start = dataArr[1].Split(':')[0] + ":" + dataArr[1].Split(':')[1]; int fr_start_hour = int.Parse(fr_start.Split(':')[0]); int fr_start_minute = int.Parse(fr_start.Split(':')[1]); string fr_end = (fr_start_hour + int.Parse(oldTask.Rule.LoopTime)) > 24 ? 24 + ":" + fr_start_minute : (fr_start_hour + int.Parse(oldTask.Rule.LoopTime)) + ":" + fr_start_minute; string start = (fr_start_hour - 1) + ":" + fr_start_minute; string end = (fr_start_hour + int.Parse(oldTask.Rule.LoopTime) - 1) > 24 ? 24 + ":" + fr_start_minute : (fr_start_hour + int.Parse(oldTask.Rule.LoopTime) - 1) + ":" + fr_start_minute; string resv_start = date + "%20" + fr_start; string resv_end = date + "%20" + fr_end; IMULabHelper imuLabHelper = new IMULabHelper(); imuLabHelper.LogoutRequest(); imuLabHelper.LoginRequest(oldTask.Username, oldTask.Password); switch (oldTask.Type) { case "1": taskList.RemoveAt(0); JObject obj = imuLabHelper.FindSeat("100485887", date, start, end, fr_start, fr_end); if (obj != null) { JToken o = obj["data"]; for (int i = 0; i < o.Count(); i++) { if (!o[i]["ts"].Any()) { imuLabHelper.SetResv( (string)o[i]["devId"], (string)o[i]["labId"], (string)o[i]["kindId"], resv_start, resv_end ); break; } } DateTime qtDate = DateHelper.ToDateTime(oldTask.Time).AddMinutes(8); return(new Task( oldTask.Uid, oldTask.Username, oldTask.Password, oldTask.Rule, Task.QUXIAOYUYUE, DateHelper.ToLong(qtDate) )); } return(null); case "2": taskList.RemoveAt(0); JObject obj2 = imuLabHelper.CheckMyResv(); if (obj2 != null) { JToken o = obj2["data"]; if (o[0].Any()) { if (((string)o[0]["status"]).Length <= 5) { imuLabHelper.SignInResv((string)o[0]["devId"], "100482081", (string)o[0]["id"]); imuLabHelper.SignOutResv((string)o[0]["id"]); System.Diagnostics.Debug.WriteLine("用户未签到,已成功签退!"); } else { DateTime qtDate = DateHelper.ToDateTime(oldTask.Time) .AddHours(int.Parse(oldTask.Rule.LoopTime)) .AddMinutes(-1); return(new Task( oldTask.Uid, oldTask.Username, oldTask.Password, oldTask.Rule, Task.QIANTUI, DateHelper.ToLong(qtDate) )); } } } return(null); case "3": taskList.RemoveAt(0); JObject obj3 = imuLabHelper.CheckMyResv(); if (obj3 != null) { JToken o = obj3["data"]; if (!o[0].Any()) { imuLabHelper.SignInResv((string)o[0]["dev"], "100482081", (string)o[0]["id"]); } } return(null); case "4": taskList.RemoveAt(0); JObject obj4 = imuLabHelper.CheckMyResv(); if (obj4 != null) { JToken o = obj4["data"]; if (!o[0].Any()) { imuLabHelper.SignOutResv((string)o[0]["id"]); } } return(null); default: return(null); } }