Пример #1
0
        /// <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);
        }
Пример #2
0
        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);
            }
        }