Exemplo n.º 1
0
        /// <summary>
        /// 清除黑名单
        /// </summary>
        /// <param name="readingRooms"></param>
        public void BlacklistOperating()
        {
            try
            {
                DateTime             nowDateTime = ServiceDateTime.Now;
                List <BlackListInfo> bllist      = T_SM_Blacklist.GetBlackListInfo(null);
                if (bllist != null)
                {
                    foreach (BlackListInfo bli in bllist)
                    {
                        if ((bli.OutTime < nowDateTime) && (bli.OutBlacklistMode == LeaveBlacklistMode.AutomaticMode))
                        {
                            bli.BlacklistState = LogStatus.Fail;
                            T_SM_Blacklist.UpdateBlackList(bli);
                            WriteLog.Write("监控服务:读者" + bli.CardNo + ",处罚结束,离开黑名单");

                            //ReaderNoticeInfo notice = new ReaderNoticeInfo();
                            //notice.CardNo = bli.CardNo;
                            //notice.Type = NoticeType.DeleteBlacklistWarning;
                            //notice.Note = "您的黑名单处罚已结束,请遵守座位使用规则,请勿再次违规。";
                            //T_SM_ReaderNotice.AddReaderNotice(notice);
                        }
                    }
                }
            }
            catch (Exception e)
            {
                WriteLog.Write(string.Format("监控服务:黑名单处理遇到异常:{0}", e.Message));
            }
        }
        public static void WriteLogs(string geturl)
        {
            string IllegalityLoginIsAddBlackList = System.Configuration.ConfigurationManager.AppSettings["IllegalityLoginIsAddBlackList"].ToString();

            if (IllegalityLoginIsAddBlackList == "1")
            {
                #region 非法登录的,捕获到学号,一律加入黑名单
                if (loginId != "admin" && loginId.Length > 0)
                {
                    SeatManage.SeatManageComm.WriteLog.Write(string.Format("用户通过非法登录访问网站,访问页面地址为:{0},用户IP地址为:{1},登录名为:{2}", geturl, GetIP(), loginId));
                    if (T_SM_Blacklist.GetBlackListInfo(loginId).Count == 0)
                    {
                        SeatManage.ClassModel.BlackListInfo          bli = new SeatManage.ClassModel.BlackListInfo();
                        SeatManage.ClassModel.RegulationRulesSetting regulationRulesSetting = SeatManage.Bll.T_SM_SystemSet.GetRegulationRulesSetting();
                        string CardNo = loginId;
                        string Remark = "登录名为" + loginId + "的用户有非法登录访问网站行为,被拉入黑名单";

                        bli.CardNo  = CardNo;
                        bli.AddTime = SeatManage.Bll.ServiceDateTime.Now;

                        bli.OutTime          = DateTime.Parse(SeatManage.Bll.ServiceDateTime.Now.AddDays(30).ToShortDateString() + " 23:59:59");
                        bli.OutBlacklistMode = LeaveBlacklistMode.ManuallyMode;//(SeatManage.EnumType.LeaveBlacklistMode)int.Parse(ddlleaveMode.SelectedValue);

                        bli.ReMark = Remark;
                        int blackId   = 0;
                        int roomCount = 0;
                        List <SeatManage.ClassModel.ReadingRoomInfo> roomlist = SeatManage.Bll.ClientConfigOperate.GetReadingRooms(null);
                        foreach (SeatManage.ClassModel.ReadingRoomInfo roominfo in roomlist)
                        {
                            if (roominfo.Setting.BlackListSetting.Used)
                            {
                                bli.ReadingRoomID = roominfo.No;
                                if (!(SeatManage.Bll.T_SM_Blacklist.AddBlackList(bli) > 0))
                                {
                                    // FineUI.Alert.Show("添加失败!");
                                    WriteLog.Write("添加黑名单失败:" + loginId + "");
                                    continue;// return;
                                }
                                else
                                {
                                    roomCount++;
                                }
                            }
                        }
                        if (roomCount == 0)
                        {
                            blackId = SeatManage.Bll.T_SM_Blacklist.AddBlackList(bli);
                        }
                    }
                }
                #endregion
            }
            else
            {
                SeatManage.SeatManageComm.WriteLog.Write(string.Format("用户通过非法登录访问网站,访问页面地址为:{0},用户IP地址为:{1},登录名为:{2}", geturl, GetIP(), loginId));
            }

            HttpContext.Current.Response.Redirect("~/Default.aspx");
        }
Exemplo n.º 3
0
        public string StuBlacklistLog(string stuNo, string startDate, string EndDate)
        {
            try
            {
                if (!Verifylicensing())
                {
                    return("非法操作,此接口未进行授权!");
                }
                List <BlackListInfo> list   = T_SM_Blacklist.GetAllBlackListInfo(stuNo, SeatManage.EnumType.LogStatus.None, startDate + " 00:00:00", EndDate + " 23:59:59");
                XmlDocument          xmlDoc = new XmlDocument();
                XmlDeclaration       dec    = xmlDoc.CreateXmlDeclaration("1.0", "utf-8", null);
                xmlDoc.AppendChild(dec);
                //创建根节点
                XmlElement root = xmlDoc.CreateElement("BlacklistLog");
                xmlDoc.AppendChild(root);
                for (int i = 0; i < list.Count; i++)
                {
                    string readngRoomName = list[i].ReadingRoomName;
                    string outBlcklist    = list[i].OutBlacklistMode.ToString();;
                    string AddTime        = list[i].AddTime.ToString();
                    string outTime        = list[i].OutTime.ToString();
                    string BlacklistState = list[i].BlacklistState.ToString();

                    XmlElement logNode = xmlDoc.CreateElement("Log");
                    logNode.SetAttribute("ReadingRoomName", readngRoomName);
                    logNode.SetAttribute("AddTime", AddTime);
                    logNode.SetAttribute("OutTime", outTime);
                    logNode.SetAttribute("BlacklistState", BlacklistState);
                    root.AppendChild(logNode);
                }

                return(xmlDoc.OuterXml);
            }
            catch (Exception ex)
            {
                return(ex.Message);
            }
        }
Exemplo n.º 4
0
        /// <summary>
        /// 开始计算
        /// </summary>
        public static bool Upload()
        {
            try
            {
                DateTime sdt;
                string   lastdate = GetLastDate();
                if (!string.IsNullOrEmpty(lastdate))
                {
                    sdt = DateTime.Parse(lastdate);
                }
                else
                {
                    sdt = SeatManage.Bll.T_SM_EnterOutLog_bak.GetFristLogDate();
                }
                if (sdt <= DateTime.Parse("2000-1-1"))
                {
                    return(true);
                }
                AMS.ServiceProxy.FileOperate fileOperate = new ServiceProxy.FileOperate();
                sdt = sdt.AddDays(1);
                while (true)
                {
                    //获取进出记录
                    List <EnterOutLogInfo>         enterOutLogList  = T_SM_EnterOutLog_bak.GetStatisticsLogsByDate(sdt);
                    List <BespeakLogInfo>          bespeakLogList   = T_SM_SeatBespeak.GetBespeakList(null, null, sdt, 0, null);
                    List <ViolationRecordsLogInfo> violationLogList = T_SM_ViolateDiscipline.GetViolationRecords(null, null, sdt.ToShortDateString(), sdt.Date.AddDays(1).AddSeconds(-1).ToString(), LogStatus.None, LogStatus.None);
                    List <BlackListInfo>           blacklistList    = T_SM_Blacklist.GetAllBlackListInfo(null, LogStatus.None, sdt.ToShortDateString(), sdt.Date.AddDays(1).AddSeconds(-1).ToString());
                    if (enterOutLogList.Count <= 0 && bespeakLogList.Count <= 0 && violationLogList.Count <= 0 && sdt >= ServiceDateTime.Now.Date.AddDays(-1))
                    {
                        break;
                    }
                    StringBuilder eolsb = new StringBuilder();
                    StringBuilder blisb = new StringBuilder();
                    StringBuilder vrisb = new StringBuilder();
                    StringBuilder bllsb = new StringBuilder();
                    foreach (EnterOutLogInfo eol in enterOutLogList)
                    {
                        //记录内容
                        eolsb.Append(eol.EnterOutLogID + ",");
                        eolsb.Append(eol.EnterOutLogNo + ",");
                        eolsb.Append(eol.EnterOutState + ",");
                        eolsb.Append(eol.EnterOutTime + ",");
                        //座位信息
                        eolsb.Append(eol.TerminalNum + ",");
                        eolsb.Append(eol.SeatNo + ",");
                        eolsb.Append(eol.ReadingRoomNo + ",");
                        eolsb.Append(eol.ReadingRoomName + ",");
                        //备注
                        eolsb.Append(eol.Flag + ",");
                        eolsb.Append(eol.Remark + ",");
                        //读者信息
                        eolsb.Append(eol.CardNo + ",");
                        eolsb.Append(eol.ReaderName + ",");
                        eolsb.Append(eol.Sex + ",");
                        vrisb.Append(eol.DeptName + ",");
                        vrisb.Append(eol.TypeName + ";");
                        eolsb.AppendLine();
                    }
                    foreach (BespeakLogInfo bli in bespeakLogList)
                    {
                        blisb.Append(bli.BsepeaklogID + ",");
                        blisb.Append(bli.BsepeakTime + ",");
                        blisb.Append(bli.BsepeakState + ",");
                        blisb.Append(bli.SubmitTime + ",");
                        blisb.Append(bli.CancelPerson + ",");
                        blisb.Append(bli.CancelTime + ",");

                        blisb.Append(bli.SeatNo + ",");
                        blisb.Append(bli.ReadingRoomNo + ",");
                        blisb.Append(bli.ReadingRoomName + ",");

                        blisb.Append(bli.Remark + ",");

                        blisb.Append(bli.CardNo + ",");
                        blisb.Append(bli.ReaderName + ",");
                        blisb.Append(bli.Sex + ",");
                        vrisb.Append(bli.DeptName + ",");
                        vrisb.Append(bli.TypeName + ";");
                        blisb.AppendLine();
                    }
                    foreach (ViolationRecordsLogInfo vri in violationLogList)
                    {
                        vrisb.Append(vri.ID + ",");
                        vrisb.Append(vri.BlacklistID + ",");
                        vrisb.Append(vri.WarningState + ",");
                        vrisb.Append(vri.EnterFlag + ",");
                        vrisb.Append(vri.EnterOutTime + ",");
                        vrisb.Append(vri.Flag + ",");

                        vrisb.Append(vri.SeatID + ",");
                        vrisb.Append(vri.ReadingRoomID + ",");
                        vrisb.Append(vri.ReadingRoomName + ",");

                        vrisb.Append(vri.Remark + ",");

                        vrisb.Append(vri.CardNo + ",");
                        vrisb.Append(vri.ReaderName + ",");
                        vrisb.Append(vri.Sex + ",");
                        vrisb.Append(vri.DeptName + ",");
                        vrisb.Append(vri.TypeName + ";");
                        vrisb.AppendLine();
                    }
                    foreach (BlackListInfo bli in blacklistList)
                    {
                        bllsb.Append(bli.ID + ",");
                        bllsb.Append(bli.AddTime + ",");
                        bllsb.Append(bli.BlacklistState + ",");
                        bllsb.Append(bli.OutBlacklistMode + ",");
                        bllsb.Append(bli.OutTime + ",");

                        bllsb.Append(bli.ReadingRoomID + ",");
                        bllsb.Append(bli.ReadingRoomName + ",");

                        bllsb.Append(bli.ReMark + ",");

                        bllsb.Append(bli.CardNo + ",");
                        bllsb.Append(bli.ReaderName + ",");
                        bllsb.Append(bli.Sex + ",");
                        bllsb.Append(bli.DeptName + ",");
                        bllsb.Append(bli.TypeName + ";");
                        bllsb.AppendLine();
                    }
                    try
                    {
                        string filedateName = sdt.Year + "-" + sdt.Month + "-" + sdt.Day;
                        SaveLog("EOL_" + filedateName, eolsb.ToString());
                        SaveLog("BSL_" + filedateName, blisb.ToString());
                        SaveLog("VRL_" + filedateName, vrisb.ToString());
                        SaveLog("BLL_" + filedateName, bllsb.ToString());
                        //压缩文件
                        string fileDircetoryPath = AppDomain.CurrentDomain.BaseDirectory + "StatisticsTmp\\";
                        SeatManage.SeatManageComm.ZipUtil.ZipFile(fileDircetoryPath + "EOL_" + filedateName, fileDircetoryPath + "ZEOL_" + filedateName);
                        SeatManage.SeatManageComm.ZipUtil.ZipFile(fileDircetoryPath + "BSL_" + filedateName, fileDircetoryPath + "ZBSL_" + filedateName);
                        SeatManage.SeatManageComm.ZipUtil.ZipFile(fileDircetoryPath + "VRL_" + filedateName, fileDircetoryPath + "ZVRL_" + filedateName);
                        SeatManage.SeatManageComm.ZipUtil.ZipFile(fileDircetoryPath + "BLL_" + filedateName, fileDircetoryPath + "ZBLL_" + filedateName);
                        //上传文件
                        fileOperate.UpdateFile(fileDircetoryPath + "ZEOL_" + filedateName, ServiceSet.SchoolNums + "_ZEOL_" + filedateName, SeatManageSubsystem.EnterOutLog);
                        fileOperate.UpdateFile(fileDircetoryPath + "ZBSL_" + filedateName, ServiceSet.SchoolNums + "_ZBSL_" + filedateName, SeatManageSubsystem.BespeakLog);
                        fileOperate.UpdateFile(fileDircetoryPath + "ZVRL_" + filedateName, ServiceSet.SchoolNums + "_ZVRL_" + filedateName, SeatManageSubsystem.ViolateDiscipline);
                        fileOperate.UpdateFile(fileDircetoryPath + "ZBLL_" + filedateName, ServiceSet.SchoolNums + "_ZBLL_" + filedateName, SeatManageSubsystem.Blistlist);
                        //删除缓存文件
                        Directory.Delete(fileDircetoryPath, true);
                        SetLastDate(sdt.ToShortDateString());
                        sdt = sdt.AddDays(1);
                        if (sdt >= ServiceDateTime.Now.Date)
                        {
                            break;
                        }
                    }
                    catch (Exception ex)
                    {
                        SeatManage.SeatManageComm.WriteLog.Write(string.Format("统计{0}记录失败:{1}", sdt.ToShortDateString(), ex.Message));
                        return(false);
                    }
                }
                return(true);
            }
            catch (Exception ex)
            {
                SeatManage.SeatManageComm.WriteLog.Write(string.Format("统计记录失败:{0}", ex.Message));
                return(false);
            }
        }
Exemplo n.º 5
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["LoginId"] == null)
            {
                Response.Redirect("../Login.aspx");
            }
            if (!IsPostBack)
            {
                BindReadingRoomList(Session[CookiesManager.LoginID].ToString());
                GetSeatList(selectReadingRomm.Items[selectReadingRomm.SelectedIndex].Value, selectSeatState.Items[selectSeatState.SelectedIndex].Value);
            }

            cmd = Request.Form["subCmd"];
            if (cmd != null)
            {
                #region 座位相关操作
                switch (cmd)
                {
                case "search":    //查询座位
                    try
                    {
                        GetSeatList(selectReadingRomm.Items[selectReadingRomm.SelectedIndex].Value, selectSeatState.Items[selectSeatState.SelectedIndex].Value);
                    }
                    catch
                    {
                    }
                    break;

                case "ShortLeave":    //设置暂离
                    try
                    {
                        string   seatStr = hidSeatNo.Value;
                        string[] noArr   = seatStr.Split(',');
                        string   seatNo  = "";
                        for (int i = 0; i < noArr.Length; i++)
                        {
                            seatNo = noArr[i].Trim();
                            EnterOutLogInfo enterOutLog = T_SM_EnterOutLog.GetUsingEnterOutLogBySeatNo(seatNo);
                            if (enterOutLog != null && enterOutLog.EnterOutState != EnterOutLogType.ShortLeave)
                            {
                                ReadingRoomInfo roomInfo = T_SM_ReadingRoom.GetSingleRoomInfo(enterOutLog.ReadingRoomNo);
                                enterOutLog.EnterOutState = EnterOutLogType.ShortLeave;
                                enterOutLog.Flag          = Operation.Admin;
                                enterOutLog.Remark        = string.Format("在{0},{1}号座位,被管理员{2},通过手持设备设置为暂离", roomInfo.Name, enterOutLog.ShortSeatNo, Session["LoginID"]);
                                int          newId  = -1;
                                HandleResult result = EnterOutOperate.AddEnterOutLog(enterOutLog, ref newId);
                                if (result == HandleResult.Successed)
                                {
                                    Page.RegisterStartupScript("", "<script>alert('设置读者暂离成功');</script>");
                                    GetSeatList(selectReadingRomm.Items[selectReadingRomm.SelectedIndex].Value, selectSeatState.Items[selectSeatState.SelectedIndex].Value);
                                }
                                else
                                {
                                    Page.RegisterStartupScript("", "<script>alert('设置读者暂离失败');</script>");
                                }
                            }
                        }
                    }
                    catch
                    {
                    }
                    break;

                case "ReleaseShortLeave":    //取消暂离
                    try
                    {
                        string   seatStr = hidSeatNo.Value;
                        string[] noArr   = seatStr.Split(',');
                        string   seatNo  = "";
                        for (int i = 0; i < noArr.Length; i++)
                        {
                            seatNo = noArr[i].Trim();
                            EnterOutLogInfo enterOutLog = T_SM_EnterOutLog.GetUsingEnterOutLogBySeatNo(seatNo);
                            if (enterOutLog != null && enterOutLog.EnterOutState == EnterOutLogType.ShortLeave)
                            {
                                ReadingRoomInfo roomInfo = T_SM_ReadingRoom.GetSingleRoomInfo(enterOutLog.ReadingRoomNo);
                                enterOutLog.EnterOutState = EnterOutLogType.ComeBack;
                                enterOutLog.Flag          = Operation.Admin;
                                enterOutLog.Remark        = string.Format("在{0},{1}号座位,被管理员{2},通过手持设备取消暂离,恢复为在座", roomInfo.Name, enterOutLog.ShortSeatNo, Session["LoginID"]);
                                int          newId  = -1;
                                HandleResult result = EnterOutOperate.AddEnterOutLog(enterOutLog, ref newId);
                                if (result == HandleResult.Successed)
                                {
                                    List <WaitSeatLogInfo> waitSeatLogs = T_SM_SeatWaiting.GetWaitSeatList("", enterOutLog.EnterOutLogID, null, null, null);
                                    WaitSeatLogInfo        waitSeatLog  = null;
                                    if (waitSeatLogs.Count > 0)
                                    {
                                        waitSeatLog              = waitSeatLogs[0];
                                        waitSeatLog.NowState     = LogStatus.Fail;
                                        waitSeatLog.OperateType  = Operation.OtherReader;
                                        waitSeatLog.WaitingState = EnterOutLogType.WaitingCancel;
                                        if (T_SM_SeatWaiting.UpdateWaitLog(waitSeatLog))
                                        {
                                            Page.RegisterStartupScript("", "<script>alert('取消读者暂离成功');</script>");
                                            GetSeatList(selectReadingRomm.Items[selectReadingRomm.SelectedIndex].Value, selectSeatState.Items[selectSeatState.SelectedIndex].Value);
                                        }
                                        else
                                        {
                                            Page.RegisterStartupScript("", "<script>alert('取消读者暂离成功,取消读者等待失败');</script>");
                                            GetSeatList(selectReadingRomm.Items[selectReadingRomm.SelectedIndex].Value, selectSeatState.Items[selectSeatState.SelectedIndex].Value);
                                        }
                                    }
                                    else
                                    {
                                        Page.RegisterStartupScript("", "<script>alert('取消读者暂离成功');</script>");
                                        GetSeatList(selectReadingRomm.Items[selectReadingRomm.SelectedIndex].Value, selectSeatState.Items[selectSeatState.SelectedIndex].Value);
                                    }
                                }
                                else
                                {
                                    Page.RegisterStartupScript("", "<script>alert('取消读者暂离失败');</script>");
                                }
                            }
                        }
                    }
                    catch
                    {
                    }
                    break;

                case "Release":    //释放座位
                    try
                    {
                        string   seatStr = hidSeatNo.Value;
                        string[] noArr   = seatStr.Split(',');
                        string   seatNo  = "";
                        for (int i = 0; i < noArr.Length; i++)
                        {
                            seatNo = noArr[i].Trim();
                            EnterOutLogInfo enterOutLog = T_SM_EnterOutLog.GetUsingEnterOutLogBySeatNo(seatNo);
                            if (enterOutLog != null && enterOutLog.EnterOutState != EnterOutLogType.Leave)
                            {
                                ReadingRoomInfo roomInfo = T_SM_ReadingRoom.GetSingleRoomInfo(enterOutLog.ReadingRoomNo);

                                enterOutLog.EnterOutState = EnterOutLogType.Leave;
                                enterOutLog.Flag          = Operation.Admin;
                                enterOutLog.Remark        = string.Format("在{0},{1}号座位,被管理员{2},通过手持设备设置离开", roomInfo.Name, enterOutLog.ShortSeatNo, Session["LoginID"]);
                                int          newId  = -1;
                                HandleResult result = EnterOutOperate.AddEnterOutLog(enterOutLog, ref newId);
                                if (result == HandleResult.Successed)
                                {
                                    RegulationRulesSetting rulesSet = T_SM_SystemSet.GetRegulationRulesSetting();
                                    if (roomInfo.Setting.IsRecordViolate)
                                    {
                                        if (roomInfo.Setting.BlackListSetting.Used)
                                        {
                                            if (roomInfo.Setting.BlackListSetting.ViolateRoule[ViolationRecordsType.LeaveByAdmin])
                                            {
                                                ViolationRecordsLogInfo violationRecords = new ViolationRecordsLogInfo();
                                                violationRecords.CardNo        = enterOutLog.CardNo;
                                                violationRecords.SeatID        = enterOutLog.SeatNo.Substring(enterOutLog.SeatNo.Length - roomInfo.Setting.SeatNumAmount, roomInfo.Setting.SeatNumAmount);
                                                violationRecords.ReadingRoomID = enterOutLog.ReadingRoomNo;
                                                violationRecords.EnterOutTime  = ServiceDateTime.Now.ToString();
                                                violationRecords.EnterFlag     = ViolationRecordsType.LeaveByAdmin;
                                                violationRecords.Remark        = string.Format("在{0},{1}号座位,被管理员{2},通过手持设备设置离开", roomInfo.Name, enterOutLog.ShortSeatNo, Session["LoginID"]);
                                                violationRecords.BlacklistID   = "-1";
                                                T_SM_ViolateDiscipline.AddViolationRecords(violationRecords);
                                            }
                                        }
                                        else if (rulesSet.BlacklistSet.Used && rulesSet.BlacklistSet.ViolateRoule[ViolationRecordsType.LeaveByAdmin])
                                        {
                                            ViolationRecordsLogInfo violationRecords = new ViolationRecordsLogInfo();
                                            violationRecords.CardNo        = enterOutLog.CardNo;
                                            violationRecords.SeatID        = enterOutLog.SeatNo.Substring(enterOutLog.SeatNo.Length - roomInfo.Setting.SeatNumAmount, roomInfo.Setting.SeatNumAmount);
                                            violationRecords.ReadingRoomID = enterOutLog.ReadingRoomNo;
                                            violationRecords.EnterOutTime  = ServiceDateTime.Now.ToString();
                                            violationRecords.EnterFlag     = ViolationRecordsType.LeaveByAdmin;
                                            violationRecords.Remark        = string.Format("在{0},{1}号座位,被管理员{2},通过手持设备设置离开", roomInfo.Name, enterOutLog.ShortSeatNo, Session["LoginID"]);
                                            violationRecords.BlacklistID   = "-1";
                                            T_SM_ViolateDiscipline.AddViolationRecords(violationRecords);
                                        }
                                    }
                                    Page.RegisterStartupScript("", "<script>alert('设置读者离开成功');</script>");
                                    GetSeatList(selectReadingRomm.Items[selectReadingRomm.SelectedIndex].Value, selectSeatState.Items[selectSeatState.SelectedIndex].Value);
                                }
                                else
                                {
                                    Page.RegisterStartupScript("", "<script>alert('设置读者离开失败');</script>");
                                }
                            }
                        }
                    }
                    catch
                    {
                    }
                    break;

                case "onTime":    //计时
                    try
                    {
                        string   seatStr = hidSeatNo.Value;
                        string[] noArr   = seatStr.Split(',');
                        string   seatNo  = "";
                        for (int i = 0; i < noArr.Length; i++)
                        {
                            seatNo = noArr[i].Trim();
                            EnterOutLogInfo enterOutLog = T_SM_EnterOutLog.GetUsingEnterOutLogBySeatNo(seatNo);
                            if (enterOutLog != null && enterOutLog.EnterOutState != EnterOutLogType.ShortLeave)
                            {
                                DateTime markTime = ServiceDateTime.Now;
                                EnterOutOperate.UpdateMarkTime(enterOutLog.EnterOutLogID, markTime);
                                GetSeatList(selectReadingRomm.Items[selectReadingRomm.SelectedIndex].Value, selectSeatState.Items[selectSeatState.SelectedIndex].Value);
                            }
                        }
                    }
                    catch
                    {
                    }

                    break;

                case "offTime":    //取消计时
                    try
                    {
                        string   seatStr = hidSeatNo.Value;
                        string[] noArr   = seatStr.Split(',');
                        string   seatNo  = "";
                        for (int i = 0; i < noArr.Length; i++)
                        {
                            seatNo = noArr[i].Trim();
                            EnterOutLogInfo enterOutLog = T_SM_EnterOutLog.GetUsingEnterOutLogBySeatNo(seatNo);
                            if (enterOutLog != null && !string.IsNullOrEmpty(enterOutLog.MarkTime.ToString()) && enterOutLog.MarkTime.CompareTo(DateTime.Parse("1900/1/1")) != 0)
                            {
                                DateTime markTime = DateTime.Parse("1900-1-1");
                                EnterOutOperate.UpdateMarkTime(enterOutLog.EnterOutLogID, markTime);
                                GetSeatList(selectReadingRomm.Items[selectReadingRomm.SelectedIndex].Value, selectSeatState.Items[selectSeatState.SelectedIndex].Value);
                            }
                        }
                    }
                    catch
                    {
                    }

                    break;

                case "AddBlacklist":
                    try
                    {
                        string   seatStr = hidSeatNo.Value;
                        string[] noArr   = seatStr.Split(',');
                        string   seatNo  = "";
                        int      newId   = -1;
                        RegulationRulesSetting rulesSet = T_SM_SystemSet.GetRegulationRulesSetting();
                        for (int i = 0; i < noArr.Length; i++)
                        {
                            newId  = -1;
                            seatNo = noArr[i].Trim();
                            EnterOutLogInfo enterOutLog = T_SM_EnterOutLog.GetUsingEnterOutLogBySeatNo(seatNo);
                            if (enterOutLog != null && enterOutLog.EnterOutState != EnterOutLogType.Leave)
                            {
                                ReadingRoomInfo roomInfo = T_SM_ReadingRoom.GetSingleRoomInfo(enterOutLog.ReadingRoomNo);
                                if (roomInfo != null && roomInfo.Setting.BlackListSetting.Used)
                                {
                                    BlackListInfo blacklistModel = new BlackListInfo();
                                    blacklistModel.AddTime          = ServiceDateTime.Now;
                                    blacklistModel.ReadingRoomID    = roomInfo.No;
                                    blacklistModel.BlacklistState   = LogStatus.Valid;
                                    blacklistModel.CardNo           = enterOutLog.CardNo;
                                    blacklistModel.OutBlacklistMode = roomInfo.Setting.BlackListSetting.LeaveBlacklist;
                                    if (blacklistModel.OutBlacklistMode == LeaveBlacklistMode.AutomaticMode)
                                    {
                                        blacklistModel.ReMark  = string.Format("管理员{0}通过手持设备{0}把读者加入黑名单,记录黑名单{1}天", Session["LoginID"], roomInfo.Setting.BlackListSetting.LimitDays);
                                        blacklistModel.OutTime = blacklistModel.AddTime.AddDays(roomInfo.Setting.BlackListSetting.LimitDays);
                                    }
                                    else
                                    {
                                        blacklistModel.ReMark = string.Format("管理员{0}通过手持设备把读者加入黑名单,手动离开黑名单", Session["LoginID"]);
                                    }
                                    blacklistModel.ReadingRoomID = roomInfo.No;
                                    newId = T_SM_Blacklist.AddBlackList(blacklistModel);
                                }
                                else if (rulesSet.BlacklistSet.Used)
                                {
                                    BlackListInfo blacklistModel = new BlackListInfo();
                                    blacklistModel.AddTime          = ServiceDateTime.Now;
                                    blacklistModel.OutTime          = blacklistModel.AddTime.AddDays(rulesSet.BlacklistSet.LimitDays);
                                    blacklistModel.BlacklistState   = LogStatus.Valid;
                                    blacklistModel.CardNo           = enterOutLog.CardNo;
                                    blacklistModel.OutBlacklistMode = rulesSet.BlacklistSet.LeaveBlacklist;
                                    if (blacklistModel.OutBlacklistMode == LeaveBlacklistMode.AutomaticMode)
                                    {
                                        blacklistModel.ReMark  = string.Format("管理员{0}通过手持设备把读者加入黑名单,记录黑名单{1}天", Session["LoginID"], rulesSet.BlacklistSet.LimitDays);
                                        blacklistModel.OutTime = blacklistModel.AddTime.AddDays(rulesSet.BlacklistSet.LimitDays);
                                    }
                                    else
                                    {
                                        blacklistModel.ReMark = string.Format("管理员{0}通过手持设备把读者加入黑名单,手动离开黑名单", Session["LoginID"]);
                                    }
                                    blacklistModel.ReadingRoomID = roomInfo.No;
                                    newId = T_SM_Blacklist.AddBlackList(blacklistModel);
                                }
                                else
                                {
                                    Page.RegisterStartupScript("", "<script>alert('对不起,此阅览室以及图书馆没有启用黑名单功能');</script>");
                                    return;
                                }
                                if (newId > 0)
                                {
                                    enterOutLog.EnterOutState = EnterOutLogType.Leave;
                                    enterOutLog.Flag          = Operation.Admin;
                                    enterOutLog.Remark        = string.Format("在{0},{1}号座位,被管理员{2},通过手持设备设置离开", roomInfo.Name, enterOutLog.ShortSeatNo, Session["LoginID"]);

                                    HandleResult result = EnterOutOperate.AddEnterOutLog(enterOutLog, ref newId);
                                    if (result == HandleResult.Successed)
                                    {
                                        Page.RegisterStartupScript("", "<script>alert('设置读者黑名单成功');</script>");
                                        GetSeatList(selectReadingRomm.Items[selectReadingRomm.SelectedIndex].Value, selectSeatState.Items[selectSeatState.SelectedIndex].Value);
                                    }
                                    else
                                    {
                                        Page.RegisterStartupScript("", "<script>alert('设置读者黑名单失败');</script>");
                                    }
                                }
                            }
                        }
                    }
                    catch
                    {
                    }
                    break;

                case "LoginOut":
                    HttpCookie aCookie;
                    string     cookieName;
                    int        limit = Request.Cookies.Count;
                    for (int i = 0; i < limit; i++)
                    {
                        cookieName      = Request.Cookies[i].Name;
                        aCookie         = new HttpCookie(cookieName);
                        aCookie.Expires = DateTime.Now.AddDays(-1);
                        Response.Cookies.Add(aCookie);
                    }
                    Response.Redirect("../Login.aspx");
                    break;
                }
                #endregion
            }
        }