/// <summary>
 /// 删除事件
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 protected void BlacklistGrid_RowCommand(object sender, FineUI.GridCommandEventArgs e)
 {
     if (e.CommandName == "ActionDelete")
     {
         SeatManage.ClassModel.BlackListInfo blacklist = SeatManage.Bll.T_SM_Blacklist.GetBlistList(BlacklistGrid.Rows[e.RowIndex].DataKeys[0].ToString());
         if (blacklist != null)
         {
             blacklist.BlacklistState = LogStatus.Fail;
             if (SeatManage.Bll.T_SM_Blacklist.UpdateBlackList(blacklist) == 0)
             {
                 FineUI.Alert.ShowInTop("删除失败!");
             }
             else
             {
                 //SeatManage.ClassModel.ReaderNoticeInfo rni = new SeatManage.ClassModel.ReaderNoticeInfo();
                 //rni.CardNo = blacklist.CardNo;
                 //rni.Type = NoticeType.DeleteBlacklistWarning;
                 //rni.Note = "被管理员手动移除黑名单";
                 //if (SeatManage.Bll.T_SM_ReaderNotice.AddReaderNotice(rni) > 0)
                 //{
                 FineUI.Alert.ShowInTop("删除完成!");
                 //}
                 //else
                 //{
                 //    FineUI.Alert.ShowInTop("添加消息失败!");
                 //}
             }
         }
         else
         {
             FineUI.Alert.ShowInTop("删除失败!");
         }
         BindGrid();
     }
 }
        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");
        }
 /// <summary>
 /// 批量删除
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 protected void btnSelectDelete_Click(object sender, EventArgs e)
 {
     int[] selectindex = BlacklistGrid.SelectedRowIndexArray;
     if (selectindex.Length > 0)
     {
         foreach (int index in selectindex)
         {
             SeatManage.ClassModel.BlackListInfo blacklist = SeatManage.Bll.T_SM_Blacklist.GetBlistList(BlacklistGrid.Rows[index].DataKeys[0].ToString());
             if (blacklist != null)
             {
                 blacklist.BlacklistState = LogStatus.Fail;
                 if (SeatManage.Bll.T_SM_Blacklist.UpdateBlackList(blacklist) == 0)
                 {
                     FineUI.Alert.ShowInTop("删除失败!");
                     return;
                 }
                 //else
                 //{
                 //    SeatManage.ClassModel.ReaderNoticeInfo rni = new SeatManage.ClassModel.ReaderNoticeInfo();
                 //    rni.CardNo = blacklist.CardNo;
                 //    rni.Type = NoticeType.DeleteBlacklistWarning;
                 //    rni.Note = "被管理员手动移除黑名单";
                 //    if (SeatManage.Bll.T_SM_ReaderNotice.AddReaderNotice(rni) == 0)
                 //    {
                 //        FineUI.Alert.ShowInTop("添加消息失败!");
                 //        return;
                 //    }
                 //}
             }
             else
             {
                 FineUI.Alert.ShowInTop("删除失败!");
             }
         }
         FineUI.Alert.ShowInTop("删除完成!");
         BindGrid();
     }
     else
     {
         FineUI.Alert.ShowInTop("请先选中需要删除的记录!");
     }
 }
        /// <summary>
        /// 保存设置
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnSubmit_Click(object sender, EventArgs e)
        {
            SeatManage.ClassModel.RegulationRulesSetting regulationRulesSetting = SeatManage.Bll.T_SM_SystemSet.GetRegulationRulesSetting();
            string CardNo        = txtCardno.Text;
            string Remark        = txtRemark.Text;
            string ReadingRoomNo = ddlroom.SelectedValue;

            SeatManage.ClassModel.ReadingRoomInfo room = SeatManage.Bll.T_SM_ReadingRoom.GetSingleRoomInfo(ReadingRoomNo);
            SeatManage.ClassModel.BlackListInfo   bli  = new SeatManage.ClassModel.BlackListInfo();
            bli.CardNo  = CardNo;
            bli.AddTime = SeatManage.Bll.ServiceDateTime.Now;
            if (ddlleaveMode.SelectedValue == "0")
            {
                if (dpEndDate.SelectedDate.Value != null && dpEndDate.SelectedDate.Value < bli.AddTime.Date)
                {
                    FineUI.Alert.Show("请输入不小于今天的日期!");
                }
                bli.OutTime = DateTime.Parse(dpEndDate.SelectedDate.Value.ToShortDateString() + " 23:59:59");
            }
            bli.OutBlacklistMode = (SeatManage.EnumType.LeaveBlacklistMode) int.Parse(ddlleaveMode.SelectedValue);
            if (bli.OutBlacklistMode == SeatManage.EnumType.LeaveBlacklistMode.ManuallyMode)
            {
                bli.ReMark = string.Format("被管理员{0}加入手动加入黑名单,管理员手动移除黑名单,备注:{1}", this.LoginId, Remark);
            }
            else
            {
                bli.ReMark = string.Format("被管理员{0}加入手动加入黑名单,记录黑名单{1}天,备注:{2}", this.LoginId, (bli.OutTime - bli.AddTime).Days, Remark);
            }
            bli.ReadingRoomID = ReadingRoomNo;
            int blackId = 0;

            if (cbIsAllRR.Checked)
            {
                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("添加失败!");
                            return;
                        }
                        else
                        {
                            roomCount++;
                        }
                    }
                }
                if (roomCount == 0)
                {
                    blackId = SeatManage.Bll.T_SM_Blacklist.AddBlackList(bli);
                }
                PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
                FineUI.Alert.Show("添加成功!");
            }
            else
            {
                blackId = SeatManage.Bll.T_SM_Blacklist.AddBlackList(bli);
                if (blackId > 0)
                {
                    PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
                    FineUI.Alert.Show("添加成功!");
                }
                else
                {
                    FineUI.Alert.Show("添加失败!");
                }
            }
        }
        protected void btn_SureAddBlacklist(object sender, EventArgs e)
        {
            SeatManage.ClassModel.Seat seat = SeatManage.Bll.T_SM_Seat.GetSeatInfoBySeatNo(seatNo);
            SeatManage.ClassModel.RegulationRulesSetting rulesSet     = SeatManage.Bll.T_SM_SystemSet.GetRegulationRulesSetting();
            SeatManage.ClassModel.BlacklistSetting       blacklistSet = rulesSet.BlacklistSet;
            SeatManage.ClassModel.ReadingRoomInfo        readingroom  = SeatManage.Bll.T_SM_ReadingRoom.GetSingleRoomInfo(seat.ReadingRoomNum);
            int i = -1;

            if (readingroom != null && readingroom.Setting.BlackListSetting.Used)
            {
                SeatManage.ClassModel.BlackListInfo blacklistModel = new SeatManage.ClassModel.BlackListInfo();
                blacklistModel.AddTime          = SeatManage.Bll.ServiceDateTime.Now;
                blacklistModel.ReadingRoomID    = readingroom.No;
                blacklistModel.BlacklistState   = SeatManage.EnumType.LogStatus.Valid;
                blacklistModel.CardNo           = txtCardNo.Text;
                blacklistModel.OutBlacklistMode = readingroom.Setting.BlackListSetting.LeaveBlacklist;
                if (blacklistModel.OutBlacklistMode == SeatManage.EnumType.LeaveBlacklistMode.AutomaticMode)
                {
                    blacklistModel.ReMark  = string.Format("管理员{0}把读者加入黑名单,记录黑名单{1}天,备注:{2}", this.LoginId, readingroom.Setting.BlackListSetting.LimitDays, txtRemark.Text);
                    blacklistModel.OutTime = blacklistModel.AddTime.AddDays(readingroom.Setting.BlackListSetting.LimitDays);
                }
                else
                {
                    blacklistModel.ReMark = string.Format("管理员{0}把读者加入黑名单,手动离开黑名单,备注:{1}", this.LoginId, txtRemark.Text);
                }
                blacklistModel.ReadingRoomID = seat.ReadingRoomNum;
                i = SeatManage.Bll.T_SM_Blacklist.AddBlackList(blacklistModel);
                SeatManage.ClassModel.ReaderNoticeInfo blackRni = new SeatManage.ClassModel.ReaderNoticeInfo();
                blackRni.IsRead = SeatManage.EnumType.LogStatus.Valid;
                blackRni.CardNo = txtCardNo.Text;
                blackRni.Note   = string.Format("{0}", blacklistModel.ReMark);
                SeatManage.Bll.T_SM_ReaderNotice.AddReaderNotice(blackRni);
            }
            else if (blacklistSet.Used)
            {
                SeatManage.ClassModel.BlackListInfo blacklistModel = new SeatManage.ClassModel.BlackListInfo();
                blacklistModel.AddTime          = SeatManage.Bll.ServiceDateTime.Now;
                blacklistModel.OutTime          = blacklistModel.AddTime.AddDays(blacklistSet.LimitDays);
                blacklistModel.BlacklistState   = SeatManage.EnumType.LogStatus.Valid;
                blacklistModel.CardNo           = txtCardNo.Text;
                blacklistModel.OutBlacklistMode = blacklistSet.LeaveBlacklist;
                if (blacklistModel.OutBlacklistMode == SeatManage.EnumType.LeaveBlacklistMode.AutomaticMode)
                {
                    blacklistModel.ReMark  = string.Format("管理员{0}把读者加入黑名单,记录黑名单{1}天,备注:{2}", this.LoginId, blacklistSet.LimitDays, txtRemark.Text);
                    blacklistModel.OutTime = blacklistModel.AddTime.AddDays(blacklistSet.LimitDays);
                }
                else
                {
                    blacklistModel.ReMark = string.Format("管理员{0}把读者加入黑名单,手动离开黑名单,备注:{1}", this.LoginId, txtRemark.Text);
                }
                blacklistModel.ReadingRoomID = seat.ReadingRoomNum;
                i = SeatManage.Bll.T_SM_Blacklist.AddBlackList(blacklistModel);
                SeatManage.ClassModel.ReaderNoticeInfo blackRni = new SeatManage.ClassModel.ReaderNoticeInfo();
                blackRni.IsRead = SeatManage.EnumType.LogStatus.Valid;
                blackRni.CardNo = txtCardNo.Text;
                blackRni.Note   = string.Format("{0}", blacklistModel.ReMark);
                SeatManage.Bll.T_SM_ReaderNotice.AddReaderNotice(blackRni);
            }
            else
            {
                FineUI.Alert.ShowInTop("对不起,此阅览室以及图书馆没有启用黑名单功能", "失败");
                return;
            }
            if (i > 0)
            {
                SeatManage.ClassModel.EnterOutLogInfo enterOutLogModel = SeatManage.Bll.T_SM_EnterOutLog.GetEnterOutLogInfoByCardNo(txtCardNo.Text);
                enterOutLogModel.EnterOutState = SeatManage.EnumType.EnterOutLogType.Leave;
                enterOutLogModel.Flag          = SeatManage.EnumType.Operation.Admin;
                enterOutLogModel.Remark        = string.Format("在{0},{1}号座位,被管理员{2},在后台管理网站加入黑名单并释放座位", enterOutLogModel.ReadingRoomName, enterOutLogModel.ShortSeatNo, this.LoginId);
                SeatManage.EnumType.HandleResult result = SeatManage.Bll.EnterOutOperate.AddEnterOutLog(enterOutLogModel, ref i);
                if (result == SeatManage.EnumType.HandleResult.Successed)
                {
                    FineUI.Alert.ShowInTop("黑名单添加成功", "成功");
                    PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
                }
                else
                {
                    FineUI.Alert.ShowInTop("黑名单添加失败", "失败");
                }
            }
            else
            {
                FineUI.Alert.ShowInTop("黑名单添加失败", "失败");
            }
        }