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"); }
protected void btn_btnLeave(object sender, EventArgs e) { SeatManage.ClassModel.EnterOutLogInfo enterOutLog = SeatManage.Bll.T_SM_EnterOutLog.GetUsingEnterOutLogBySeatNo(seatNo); SeatManage.ClassModel.ReadingRoomInfo roomInfo = SeatManage.Bll.T_SM_ReadingRoom.GetSingleRoomInfo(enterOutLog.ReadingRoomNo); enterOutLog.EnterOutState = SeatManage.EnumType.EnterOutLogType.Leave; enterOutLog.Flag = SeatManage.EnumType.Operation.Admin; enterOutLog.Remark = string.Format("在{0},{1}号座位,被管理员{2},在后台管理网站设置离开", roomInfo.Name, enterOutLog.ShortSeatNo, this.LoginId); int newId = -1; SeatManage.EnumType.HandleResult result = SeatManage.Bll.EnterOutOperate.AddEnterOutLog(enterOutLog, ref newId); if (result == SeatManage.EnumType.HandleResult.Successed) { SeatManage.ClassModel.RegulationRulesSetting rulesSet = SeatManage.Bll.T_SM_SystemSet.GetRegulationRulesSetting(); if (roomInfo.Setting.IsRecordViolate) { if (roomInfo.Setting.BlackListSetting.Used) { if (roomInfo.Setting.BlackListSetting.ViolateRoule[SeatManage.EnumType.ViolationRecordsType.LeaveByAdmin]) { SeatManage.ClassModel.ViolationRecordsLogInfo violationRecords = new SeatManage.ClassModel.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 = SeatManage.Bll.ServiceDateTime.Now.ToString(); violationRecords.EnterFlag = SeatManage.EnumType.ViolationRecordsType.LeaveByAdmin; violationRecords.Remark = string.Format("在{0},{1}号座位,被管理员{2},在后台管理网站设置离开", roomInfo.Name, enterOutLog.ShortSeatNo, this.LoginId); violationRecords.BlacklistID = "-1"; SeatManage.Bll.T_SM_ViolateDiscipline.AddViolationRecords(violationRecords); } } else if (rulesSet.BlacklistSet.Used && rulesSet.BlacklistSet.ViolateRoule[SeatManage.EnumType.ViolationRecordsType.LeaveByAdmin]) { SeatManage.ClassModel.ViolationRecordsLogInfo violationRecords = new SeatManage.ClassModel.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 = SeatManage.Bll.ServiceDateTime.Now.ToString(); violationRecords.EnterFlag = SeatManage.EnumType.ViolationRecordsType.LeaveByAdmin; violationRecords.Remark = string.Format("在{0},{1}号座位,被管理员{2},在后台管理网站设置离开", roomInfo.Name, enterOutLog.ShortSeatNo, this.LoginId); violationRecords.BlacklistID = "-1"; SeatManage.Bll.T_SM_ViolateDiscipline.AddViolationRecords(violationRecords); } } FineUI.Alert.ShowInTop("设置读者离开成功", "成功"); PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); } else { FineUI.Alert.ShowInTop("设置读者离开失败", "失败"); } }
protected void Page_Load(object sender, EventArgs e) { seatNo = Request.QueryString["seatNo"]; string seatShortNo = Request.QueryString["seatShortNo"]; string seatUsed = Request.QueryString["used"]; if (!IsPostBack) { if (Request.ServerVariables["HTTP_REFERER"] != null) { string url = Request.ServerVariables["HTTP_REFERER"].Trim(); string pageName = SeatManage.SeatManageComm.SeatComm.GetPageName(url); if (pageName != "SeatGraph.aspx" && pageName != "FormSYS.aspx" && pageName != "MonitorListMode.aspx") { WriteLogs(url); Response.Write("请通过正确方式访问网站!"); Response.End(); return; //PageContext.RegisterStartupScript(FineUI.ActiveWindow.GetHidePostBackReference()); } } else { WriteLogs(HttpContext.Current.Request.Url.AbsoluteUri); Response.Write("请通过正确方式访问网站!"); Response.End(); return; //PageContext.RegisterStartupScript(FineUI.ActiveWindow.GetHidePostBackReference()); } BindUIElement(seatNo, seatShortNo, seatUsed); } SeatManage.ClassModel.Seat seat = SeatManage.Bll.T_SM_Seat.GetSeatInfoBySeatNo(seatNo); SeatManage.ClassModel.RegulationRulesSetting rulesSet = SeatManage.Bll.T_SM_SystemSet.GetRegulationRulesSetting(); SeatManage.ClassModel.ReadingRoomInfo readingroom = SeatManage.Bll.T_SM_ReadingRoom.GetSingleRoomInfo(seat.ReadingRoomNum); if ((!rulesSet.BlacklistSet.Used) && (!readingroom.Setting.BlackListSetting.Used)) { btnAddBlackList.Enabled = false; } }
/// <summary> /// 提交设置 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnSubmit_Click(object sender, EventArgs e) { SeatManage.ClassModel.RegulationRulesSetting rulessetting = new SeatManage.ClassModel.RegulationRulesSetting(); rulessetting.BlacklistSet.Used = IsBlUserd.Checked; rulessetting.BlacklistSet.ViolateTimes = int.Parse(nbvrcont.Text); rulessetting.BlacklistSet.LeaveBlacklist = (SeatManage.EnumType.LeaveBlacklistMode) int.Parse(ddlleavemode.SelectedValue); rulessetting.BlacklistSet.LimitDays = int.Parse(nbleavetime.Text); rulessetting.BlacklistSet.ViolateFailDays = int.Parse(nbvrovertime.Text); rulessetting.BlacklistSet.ViolateRoule[SeatManage.EnumType.ViolationRecordsType.BookingTimeOut] = cbBookOverTime.Checked; //rulessetting.BlacklistSet.ViolateRoule[SeatManage.EnumType.ViolationRecordsType.CancelWaitByAdmin] = cbCancelWaitByAdmin.Checked; rulessetting.BlacklistSet.ViolateRoule[SeatManage.EnumType.ViolationRecordsType.LeaveByAdmin] = cbLeaveByAdmin.Checked; rulessetting.BlacklistSet.ViolateRoule[SeatManage.EnumType.ViolationRecordsType.SeatOutTime] = cbSeatOverTime.Checked; rulessetting.BlacklistSet.ViolateRoule[SeatManage.EnumType.ViolationRecordsType.ShortLeaveByAdminOutTime] = cbShortLeaveByAdmin.Checked; rulessetting.BlacklistSet.ViolateRoule[SeatManage.EnumType.ViolationRecordsType.ShortLeaveByReaderOutTime] = cbShortLeaveByReader.Checked; rulessetting.BlacklistSet.ViolateRoule[SeatManage.EnumType.ViolationRecordsType.ShortLeaveOutTime] = cbShortLeaveOverTime.Checked; if (SeatManage.Bll.T_SM_SystemSet.UpdateRegulationRulesSetting(rulessetting)) { FineUI.Alert.Show("修改成功!"); } else { FineUI.Alert.Show("修改失败!"); } }
/// <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("添加失败!"); } } }
/// <summary> /// 绑定UI元素 /// </summary> /// <param name="seatNo"></param> /// <param name="seatShortNo"></param>GetBespeakLogInfoBySeatNo void BindUIElement(string seatNo, string seatShortNo, DateTime date) { SeatManage.ClassModel.ReadingRoomInfo room = SeatManage.Bll.T_SM_ReadingRoom.GetSingleRoomInfo(roomNo); SeatManage.Bll.T_SM_ReadingRoom bllReadingRoom = new SeatManage.Bll.T_SM_ReadingRoom(); if (room.Setting.SeatBespeak.SpecifiedTime && room.Setting.SeatBespeak.CanBookMultiSpan) { foreach (DateTime dt in timeSpan) { DropDownList_Time.Items.Add(new FineUI.ListItem(dt.ToShortTimeString(), dt.ToShortTimeString())); } } else { foreach (DateTime dt in room.Setting.SeatBespeak.SpecifiedTimeList) { DropDownList_Time.Items.Add(new FineUI.ListItem(dt.ToShortTimeString(), dt.ToShortTimeString())); } } DateTime minTime = DateTime.Parse(date.ToShortDateString() + " " + bllReadingRoom.GetRoomOpenTimeByDate(room.Setting, date.ToShortDateString()).BeginTime); while (true) { minTime = minTime.AddMinutes(10); if (minTime.Date > date.Date) { break; } if (Code.NowReadingRoomState.ReadingRoomOpenState(room.Setting.RoomOpenSet, minTime) == SeatManage.EnumType.ReadingRoomStatus.Close) { continue; } DropDownList_FreeTime.Items.Add(new FineUI.ListItem(minTime.ToShortTimeString(), minTime.ToShortTimeString())); } if (!room.Setting.SeatBespeak.SpecifiedBespeak) { rblModel.Hidden = true; } if (rblModel.SelectedValue == "0") { DropDownList_FreeTime.Hidden = true; DropDownList_Time.Hidden = true; } else { if (!room.Setting.SeatBespeak.SpecifiedTime) { DropDownList_Time.Hidden = true; DropDownList_FreeTime.Hidden = false; } else { DropDownList_FreeTime.Hidden = true; DropDownList_Time.Hidden = false; } } lblbeginDate.Text = date.ToShortDateString(); this.lblSeatNo.Text = seatShortNo; this.lblRoomName.Text = room.Name; //判断自己是否已经预约座位 List <SeatManage.ClassModel.BespeakLogInfo> list = SeatManage.Bll.T_SM_SeatBespeak.GetBespeakLogInfoBySeatNo(seatNo, date); List <SeatManage.EnumType.BookingStatus> bespeakStatus = new List <SeatManage.EnumType.BookingStatus>(); bespeakStatus.Add(SeatManage.EnumType.BookingStatus.Waiting); List <SeatManage.ClassModel.BespeakLogInfo> readerBespeaklist = SeatManage.Bll.T_SM_SeatBespeak.GetBespeakLogInfoByCardNo(this.LoginId, date);//.GetBespeakList(this.LoginId, null, date, 0, bespeakStatus); if (room.Setting.SeatBespeak.CanBookMultiSpan && room.Setting.SeatBespeak.SpecifiedTime) { if (readerBespeaklist.Count >= room.Setting.SeatBespeak.BespeakSeatCount) { FineUI.Alert.ShowInTop("对不起,您一天最多预约" + room.Setting.SeatBespeak.BespeakSeatCount + "个座位。"); btnBespeak.Enabled = false; PageContext.RegisterStartupScript(FineUI.ActiveWindow.GetHidePostBackReference()); return; } } else { if (readerBespeaklist.Count > 0) { FineUI.Alert.ShowInTop("您选择的日期已经预约了座位,请先取消原来的预约。"); btnBespeak.Enabled = false; PageContext.RegisterStartupScript(FineUI.ActiveWindow.GetHidePostBackReference()); return; } } //判断座位是否被别人预约 roomOpenTime.Value = bllReadingRoom.GetRoomOpenTimeByDate(room.Setting, date.ToShortDateString()).BeginTime; this.lblEndDate.Text = bespeakSureTimeSpan(room.Setting); for (int i = 0; i < list.Count; i++) { if (list[i].BsepeakState == SeatManage.EnumType.BookingStatus.Waiting) { FineUI.Alert.ShowInTop("座位已经被别人预约,请预约其他座位"); btnBespeak.Enabled = false; PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); return; } } //判断是否已加入黑名单 List <SeatManage.ClassModel.BlackListInfo> blacklistInfoByCardNo = SeatManage.Bll.T_SM_Blacklist.GetBlackListInfo(this.LoginId); SeatManage.ClassModel.RegulationRulesSetting rulesSet = SeatManage.Bll.T_SM_SystemSet.GetRegulationRulesSetting(); if (room.Setting.UsedBlacklistLimit && blacklistInfoByCardNo.Count > 0) { if (room.Setting.BlackListSetting.Used) { bool isblack = false; foreach (SeatManage.ClassModel.BlackListInfo blinfo in blacklistInfoByCardNo) { if (blinfo.ReadingRoomID == room.No) { isblack = true; break; } } if (isblack) { FineUI.Alert.ShowInTop("你已进入黑名单,不能在该阅览室预约座位"); PageContext.RegisterStartupScript(FineUI.ActiveWindow.GetHidePostBackReference()); return; } } else { FineUI.Alert.ShowInTop("你已进入黑名单,不能在该阅览室预约座位"); PageContext.RegisterStartupScript(FineUI.ActiveWindow.GetHidePostBackReference()); return; } } if (room.Setting.LimitReaderEnter.Used) { SeatManage.ClassModel.ReaderInfo readerInfo = SeatManage.Bll.EnterOutOperate.GetReaderInfo(this.LoginId); string[] litype = room.Setting.LimitReaderEnter.ReaderTypes.Split(';'); if (!room.Setting.LimitReaderEnter.CanEnter) { foreach (string type in litype) { if (type == readerInfo.ReaderType) { FineUI.Alert.ShowInTop("你的读者类型不能在该阅览室预约座位"); PageContext.RegisterStartupScript(FineUI.ActiveWindow.GetHidePostBackReference()); return; } } } else { bool isintype = false; foreach (string type in litype) { if (type == readerInfo.ReaderType) { isintype = true; break; } } if (!isintype) { FineUI.Alert.ShowInTop("你的读者类型不能在该阅览室预约座位"); PageContext.RegisterStartupScript(FineUI.ActiveWindow.GetHidePostBackReference()); return; } } } btnBespeak.Enabled = true; }
/// <summary> /// 绑定UI元素 /// </summary> /// <param name="seatNo"></param> /// <param name="seatShortNo"></param>GetBespeakLogInfoBySeatNo void BindUIElement(string seatNo, string seatShortNo, DateTime date) { SeatManage.ClassModel.ReadingRoomInfo room = SeatManage.Bll.T_SM_ReadingRoom.GetSingleRoomInfo(roomNo); SeatManage.Bll.T_SM_ReadingRoom bllReadingRoom = new SeatManage.Bll.T_SM_ReadingRoom(); if (room.Setting.SeatBespeak.SpecifiedTime && room.Setting.SeatBespeak.CanBookMultiSpan) { foreach (DateTime dt in timeSpan) { if (dt <= date) { continue; } DropDownList_Time.Items.Add(new FineUI.ListItem(dt.ToShortTimeString(), dt.ToShortTimeString())); } } else { foreach (DateTime dt in room.Setting.SeatBespeak.SpecifiedTimeList) { if (dt <= date) { continue; } DropDownList_Time.Items.Add(new FineUI.ListItem(dt.ToShortTimeString(), dt.ToShortTimeString())); } } DateTime minTime = date.AddMinutes(10 - date.Minute % 10); while (true) { minTime = minTime.AddMinutes(10); if (minTime.Date > date.Date) { break; } if (Code.NowReadingRoomState.ReadingRoomOpenState(room.Setting.RoomOpenSet, minTime) == SeatManage.EnumType.ReadingRoomStatus.Close) { continue; } DropDownList_FreeTime.Items.Add(new FineUI.ListItem(minTime.ToShortTimeString(), minTime.ToShortTimeString())); } if (!room.Setting.SeatBespeak.SpecifiedBespeak) { rblModel.Hidden = true; } if (rblModel.SelectedValue == "0") { DropDownList_FreeTime.Hidden = true; DropDownList_Time.Hidden = true; } else { if (!room.Setting.SeatBespeak.SpecifiedTime) { DropDownList_Time.Hidden = true; DropDownList_FreeTime.Hidden = false; } else { DropDownList_FreeTime.Hidden = true; DropDownList_Time.Hidden = false; } } lblbeginDate.Text = date.ToShortDateString(); this.lblSeatNo.Text = seatShortNo; this.lblRoomName.Text = room.Name; //判断自己是否已经预约座位 List <SeatManage.EnumType.BookingStatus> bespeakStatus = new List <SeatManage.EnumType.BookingStatus>(); bespeakStatus.Add(SeatManage.EnumType.BookingStatus.Waiting); List <SeatManage.ClassModel.BespeakLogInfo> readerBespeaklist = SeatManage.Bll.T_SM_SeatBespeak.GetBespeakLogInfoByCardNo(this.LoginId, date);//.GetBespeakList(this.LoginId, null, date, 0, bespeakStatus); //判断可预约次数是否超过 readerBespeaklist = SeatManage.Bll.T_SM_SeatBespeak.GetBespeakList(this.LoginId, null, date, 0, new List <SeatManage.EnumType.BookingStatus> { SeatManage.EnumType.BookingStatus.Confinmed, SeatManage.EnumType.BookingStatus.Waiting }); //.GetBespeakList(this.LoginId, null, date, 0, bespeakStatus); if (readerBespeaklist.Count >= room.Setting.SeatBespeak.BespeakSeatCount) { FineUI.Alert.ShowInTop("您一天只能预约" + room.Setting.SeatBespeak.BespeakSeatCount + "次座位。"); btnBespeak.Enabled = false; PageContext.RegisterStartupScript(FineUI.ActiveWindow.GetHidePostBackReference()); return; } if (readerBespeaklist.Find(u => u.BsepeakState == SeatManage.EnumType.BookingStatus.Waiting) != null && (!room.Setting.SeatBespeak.CanBookMultiSpan || !room.Setting.SeatBespeak.SpecifiedTime)) { FineUI.Alert.ShowInTop("您今天已有预约的座位,请先取消原来的预约。"); btnBespeak.Enabled = false; PageContext.RegisterStartupScript(FineUI.ActiveWindow.GetHidePostBackReference()); return; } //判断读者是否有座位 if (!room.Setting.SeatBespeak.BespeatWithOnSeat) { SeatManage.ClassModel.EnterOutLogInfo eol = SeatManage.Bll.T_SM_EnterOutLog.GetEnterOutLogInfoByCardNo(this.LoginId); if (eol != null && eol.EnterOutState != SeatManage.EnumType.EnterOutLogType.Leave) { FineUI.Alert.ShowInTop("您已有座位,不能再预约座位"); btnBespeak.Enabled = false; PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); return; } } //判断操作次数 if (SeatManage.Bll.EnterOutOperate.CheckReaderChooseSeatTimesByReadingRoom(this.LoginId, room.Setting.PosTimes, room.No)) { FineUI.Alert.ShowInTop("您的选座/预约操作过于频繁,请稍后重试"); btnBespeak.Enabled = false; PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); return; } //判断座位是否被别人使用 SeatManage.ClassModel.Seat seat = SeatManage.Bll.T_SM_Seat.GetSeatInfoBySeatNo(seatNo); if (seat.SeatUsedState != SeatManage.EnumType.EnterOutLogType.Leave) { FineUI.Alert.ShowInTop("座位已经被别人选择,请预约其他座位"); btnBespeak.Enabled = false; PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); return; } //判断座位是否被预约 List <SeatManage.ClassModel.BespeakLogInfo> list = SeatManage.Bll.T_SM_SeatBespeak.GetBespeakLogInfoBySeatNo(seatNo, date); seatKeepTime.Value = room.Setting.SeatBespeak.SeatKeepTime.ToString(); this.lblEndDate.Text = string.Format("{0}至{1}", date.ToShortTimeString(), date.AddMinutes(room.Setting.SeatBespeak.SeatKeepTime).ToShortTimeString()); for (int i = 0; i < list.Count; i++) { if (list[i].BsepeakState == SeatManage.EnumType.BookingStatus.Waiting) { FineUI.Alert.ShowInTop("座位已经被别人预约,请预约其他座位"); btnBespeak.Enabled = false; PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); return; } } //判断是否已加入黑名单 List <SeatManage.ClassModel.BlackListInfo> blacklistInfoByCardNo = SeatManage.Bll.T_SM_Blacklist.GetBlackListInfo(this.LoginId); SeatManage.ClassModel.RegulationRulesSetting rulesSet = SeatManage.Bll.T_SM_SystemSet.GetRegulationRulesSetting(); if (room.Setting.UsedBlacklistLimit && blacklistInfoByCardNo.Count > 0) { if (room.Setting.BlackListSetting.Used) { bool isblack = false; foreach (SeatManage.ClassModel.BlackListInfo blinfo in blacklistInfoByCardNo) { if (blinfo.ReadingRoomID == room.No) { isblack = true; break; } } if (isblack) { FineUI.Alert.ShowInTop("你已进入黑名单,不能在该阅览室预约座位"); PageContext.RegisterStartupScript(FineUI.ActiveWindow.GetHidePostBackReference()); return; } } else { FineUI.Alert.ShowInTop("你已进入黑名单,不能在该阅览室预约座位"); PageContext.RegisterStartupScript(FineUI.ActiveWindow.GetHidePostBackReference()); return; } } if (room.Setting.LimitReaderEnter.Used) { SeatManage.ClassModel.ReaderInfo readerInfo = SeatManage.Bll.EnterOutOperate.GetReaderInfo(this.LoginId); string[] litype = room.Setting.LimitReaderEnter.ReaderTypes.Split(';'); if (!room.Setting.LimitReaderEnter.CanEnter) { foreach (string type in litype) { if (type == readerInfo.ReaderType) { FineUI.Alert.ShowInTop("你的读者类型不能在该阅览室预约座位"); PageContext.RegisterStartupScript(FineUI.ActiveWindow.GetHidePostBackReference()); return; } } } else { bool isintype = false; foreach (string type in litype) { if (type == readerInfo.ReaderType) { isintype = true; break; } } if (!isintype) { FineUI.Alert.ShowInTop("你的读者类型不能在该阅览室预约座位"); PageContext.RegisterStartupScript(FineUI.ActiveWindow.GetHidePostBackReference()); return; } } } btnBespeak.Enabled = true; }
protected void btnSureAllotSeat_Click(object sender, EventArgs e) { SeatManage.ClassModel.Seat seat = SeatManage.Bll.T_SM_Seat.GetSeatInfoBySeatNo(seatNo); SeatManage.ClassModel.ReadingRoomInfo roomInfo = SeatManage.Bll.T_SM_ReadingRoom.GetSingleRoomInfo(seat.ReadingRoomNum); if (seat == null) { FineUI.Alert.ShowInTop("座位号错误,没有找到座位的相关信息"); return; } //判断当前座位上是否有读者在座。 SeatManage.ClassModel.EnterOutLogInfo enterOutLogByseatNo = SeatManage.Bll.T_SM_EnterOutLog.GetUsingEnterOutLogBySeatNo(seatNo); if (enterOutLogByseatNo != null && enterOutLogByseatNo.EnterOutState != SeatManage.EnumType.EnterOutLogType.Leave) { FineUI.Alert.ShowInTop("座位已经被其他读者选择"); return; } //判断读者是否有座位 string strCardNo = txtCardNo1.Text; List <SeatManage.ClassModel.BlackListInfo> blacklistInfoByCardNo = SeatManage.Bll.T_SM_Blacklist.GetBlackListInfo(strCardNo); SeatManage.ClassModel.RegulationRulesSetting rulesSet = SeatManage.Bll.T_SM_SystemSet.GetRegulationRulesSetting(); if (roomInfo.Setting.UsedBlacklistLimit && blacklistInfoByCardNo.Count > 0) { if (roomInfo.Setting.BlackListSetting.Used) { bool isblack = false; foreach (SeatManage.ClassModel.BlackListInfo blinfo in blacklistInfoByCardNo) { if (blinfo.ReadingRoomID == roomInfo.No) { isblack = true; break; } } if (isblack) { FineUI.Alert.ShowInTop("该读者已进入黑名单,不能在该阅览室为其分配座位"); return; } } else { FineUI.Alert.ShowInTop("该读者已进入黑名单,不能在该阅览室为其分配座位"); return; } } SeatManage.ClassModel.EnterOutLogInfo enterOutLogByCardNo = SeatManage.Bll.T_SM_EnterOutLog.GetEnterOutLogInfoByCardNo(strCardNo); if (enterOutLogByCardNo != null && enterOutLogByCardNo.EnterOutState != SeatManage.EnumType.EnterOutLogType.Leave) { FineUI.Alert.ShowInTop(string.Format("读者已经在{0},{1}号座位就做", enterOutLogByCardNo.ReadingRoomName, enterOutLogByCardNo.ShortSeatNo)); return; } SeatManage.ClassModel.EnterOutLogInfo enterOutLogModel = new SeatManage.ClassModel.EnterOutLogInfo(); enterOutLogModel.CardNo = strCardNo; enterOutLogModel.EnterOutLogNo = SeatManage.SeatManageComm.SeatComm.RndNum(); enterOutLogModel.EnterOutState = SeatManage.EnumType.EnterOutLogType.SelectSeat; enterOutLogModel.EnterOutTime = SeatManage.Bll.ServiceDateTime.Now; enterOutLogModel.EnterOutType = SeatManage.EnumType.LogStatus.Valid; enterOutLogModel.Flag = SeatManage.EnumType.Operation.Admin; enterOutLogModel.ReadingRoomNo = seat.ReadingRoomNum; enterOutLogModel.Remark = string.Format("在后台管理网站被管理员{0},分配{1},{2}座位", this.LoginId, roomInfo.Name, seat.SeatNo.Substring(seat.SeatNo.Length - roomInfo.Setting.SeatNumAmount)); enterOutLogModel.SeatNo = seatNo; int newId = -1; SeatManage.EnumType.HandleResult result = SeatManage.Bll.EnterOutOperate.AddEnterOutLog(enterOutLogModel, ref newId); if (result == SeatManage.EnumType.HandleResult.Successed) { FineUI.Alert.ShowInTop("分配座位成功", "成功"); PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); } else { FineUI.Alert.ShowInTop("分配座位失败", "失败"); } }
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("黑名单添加失败", "失败"); } }