private static XmlElement ConvertBlacklistSet(BlacklistSetting blacklist) { XmlElement element = doc.CreateElement("blacklist"); element.SetAttribute("used", ConfigConvert.ConvertToString(blacklist.Used)); element.SetAttribute("violateTimes", blacklist.ViolateTimes.ToString()); element.SetAttribute("limitDays", blacklist.LimitDays.ToString()); element.SetAttribute("leaveBlacklist", ((int)blacklist.LeaveBlacklist).ToString()); element.SetAttribute("ViolateFailDays", blacklist.ViolateFailDays.ToString()); foreach (ViolationRecordsType violateType in blacklist.ViolateRoule.Keys) { XmlElement child = doc.CreateElement("violateType"); child.SetAttribute("used", ConfigConvert.ConvertToString(blacklist.ViolateRoule[violateType])); child.SetAttribute("typeValue", ((int)violateType).ToString()); element.AppendChild(child); } return(element); }
private static BlacklistSetting ConvertBlacklistSet(XmlNode node) { //node = doc.SelectSingleNode("//blacklist"); BlacklistSetting set = new BlacklistSetting(); set.LeaveBlacklist = (LeaveBlacklistMode)int.Parse(node.Attributes["leaveBlacklist"].Value); set.LimitDays = int.Parse(node.Attributes["limitDays"].Value); set.Used = ConfigConvert.ConvertToBool(node.Attributes["used"].Value); set.ViolateTimes = int.Parse(node.Attributes["violateTimes"].Value); set.ViolateFailDays = int.Parse(node.Attributes["ViolateFailDays"].Value); XmlNodeList nodes = node.ChildNodes;// SelectNodes("//blacklist/violateType"); foreach (XmlNode element in nodes) { set.ViolateRoule[(ViolationRecordsType)int.Parse(element.Attributes["typeValue"].Value)] = ConfigConvert.ConvertToBool(element.Attributes["used"].Value); } return(set); }
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); } 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); } else { FineUI.Alert.ShowInTop("对不起,此阅览室以及图书馆没有启用黑名单功能", "失败"); return; } if (i > 0) { SeatManage.ClassModel.EnterOutLogInfo enterOutLogModel = SeatManage.Bll.T_SM_EnterOutLog.GetEnterOutLogInfoByCardNo(txtCardNo.Text); SeatManage.EnumType.EnterOutLogType type = enterOutLogModel.EnterOutState; 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) { //SeatManage.ClassModel.ReaderNoticeInfo rni = new SeatManage.ClassModel.ReaderNoticeInfo(); //rni.CardNo = enterOutLogModel.CardNo; //rni.Type = SeatManage.EnumType.NoticeType.ManagerFreeSetWarning; //rni.Note = enterOutLogModel.Remark; //SeatManage.Bll.T_SM_ReaderNotice.AddReaderNotice(rni); //PushMsgInfo msg = new PushMsgInfo(); //msg.Title = "您好,您的座位已被释放"; //msg.MsgType = MsgPushType.AdminOperation; //msg.StudentNum = enterOutLogModel.CardNo; //msg.Message = enterOutLogModel.Remark; //SeatManage.Bll.T_SM_ReaderNotice.SendPushMsg(msg); if (type == SeatManage.EnumType.EnterOutLogType.ShortLeave) { List <SeatManage.ClassModel.WaitSeatLogInfo> waitSeatLogs = SeatManage.Bll.T_SM_SeatWaiting.GetWaitSeatList("", enterOutLogModel.EnterOutLogID, null, null, null); SeatManage.ClassModel.WaitSeatLogInfo waitSeatLog = null; if (waitSeatLogs.Count > 0) { waitSeatLog = waitSeatLogs[0]; waitSeatLog.NowState = SeatManage.EnumType.LogStatus.Fail; waitSeatLog.OperateType = SeatManage.EnumType.Operation.OtherReader; waitSeatLog.WaitingState = SeatManage.EnumType.EnterOutLogType.WaitingCancel; if (SeatManage.Bll.T_SM_SeatWaiting.UpdateWaitLog(waitSeatLog)) { //rni = new SeatManage.ClassModel.ReaderNoticeInfo(); //rni.CardNo = waitSeatLog.CardNo; //rni.Type = SeatManage.EnumType.NoticeType.WaitSeatFail; //rni.Note = "您所等待的座位已被管理员释放,您的等待已被取消"; //SeatManage.Bll.T_SM_ReaderNotice.AddReaderNotice(rni); //msg = new PushMsgInfo(); //msg.Title = "您好,您已被取消等待"; //msg.MsgType = MsgPushType.AdminOperation; //msg.StudentNum = waitSeatLog.CardNo; //msg.Message = "您所等待的座位已被管理员释放,您的等待已被取消"; //SeatManage.Bll.T_SM_ReaderNotice.SendPushMsg(msg); } } } FineUI.Alert.ShowInTop("黑名单添加成功", "成功"); PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); } else { FineUI.Alert.ShowInTop("黑名单添加失败", "失败"); } } else { FineUI.Alert.ShowInTop("黑名单添加失败", "失败"); } }
/// <summary> /// 添加黑名单 /// </summary> /// <param name="seatNo"></param> /// <param name="seatShortNo"></param> /// <param name="used"></param> /// <param name="CardNo"></param> /// <param name="addBlackListRemark"></param> /// <returns></returns> public JsonResult SureAddBlacklist(string seatNo, string seatShortNo, string used, string CardNo, string addBlackListRemark) { addBlackListRemark = string.IsNullOrEmpty(addBlackListRemark) ? "未备注" : addBlackListRemark; JsonResult ret = null; 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 = CardNo; 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, addBlackListRemark); blacklistModel.OutTime = blacklistModel.AddTime.AddDays(readingroom.Setting.BlackListSetting.LimitDays); } else { blacklistModel.ReMark = string.Format("管理员{0}把读者加入黑名单,手动离开黑名单,备注:{1}", this.LoginId, addBlackListRemark); } blacklistModel.ReadingRoomID = seat.ReadingRoomNum; i = SeatManage.Bll.T_SM_Blacklist.AddBlackList(blacklistModel); } 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 = CardNo; blacklistModel.OutBlacklistMode = blacklistSet.LeaveBlacklist; if (blacklistModel.OutBlacklistMode == SeatManage.EnumType.LeaveBlacklistMode.AutomaticMode) { blacklistModel.ReMark = string.Format("管理员{0}把读者加入黑名单,记录黑名单{1}天,备注:{2}", this.LoginId, blacklistSet.LimitDays, addBlackListRemark); blacklistModel.OutTime = blacklistModel.AddTime.AddDays(blacklistSet.LimitDays); } else { blacklistModel.ReMark = string.Format("管理员{0}把读者加入黑名单,手动离开黑名单,备注:{1}", this.LoginId, addBlackListRemark); } blacklistModel.ReadingRoomID = seat.ReadingRoomNum; i = SeatManage.Bll.T_SM_Blacklist.AddBlackList(blacklistModel); } else { ret = Json(new { status = "no", message = "对不起,此阅览室以及图书馆没有启用黑名单功能" }, JsonRequestBehavior.AllowGet); } if (i > 0) { SeatManage.ClassModel.EnterOutLogInfo enterOutLogModel = SeatManage.Bll.T_SM_EnterOutLog.GetEnterOutLogInfoByCardNo(CardNo); SeatManage.EnumType.EnterOutLogType type = enterOutLogModel.EnterOutState; 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) { //SeatManage.ClassModel.ReaderNoticeInfo rni = new SeatManage.ClassModel.ReaderNoticeInfo(); //rni.CardNo = enterOutLogModel.CardNo; //rni.Type = SeatManage.EnumType.NoticeType.ManagerFreeSetWarning; //rni.Note = enterOutLogModel.Remark; //SeatManage.Bll.T_SM_ReaderNotice.AddReaderNotice(rni); //PushMsgInfo msg = new PushMsgInfo(); //msg.Title = "您好,您的座位已被释放"; //msg.MsgType = MsgPushType.AdminOperation; //msg.StudentNum = enterOutLogModel.CardNo; //msg.Message = enterOutLogModel.Remark; //SeatManage.Bll.T_SM_ReaderNotice.SendPushMsg(msg); if (type == SeatManage.EnumType.EnterOutLogType.ShortLeave) { List <SeatManage.ClassModel.WaitSeatLogInfo> waitSeatLogs = SeatManage.Bll.T_SM_SeatWaiting.GetWaitSeatList("", enterOutLogModel.EnterOutLogID, null, null, null); SeatManage.ClassModel.WaitSeatLogInfo waitSeatLog = null; if (waitSeatLogs.Count > 0) { waitSeatLog = waitSeatLogs[0]; waitSeatLog.NowState = SeatManage.EnumType.LogStatus.Fail; waitSeatLog.OperateType = SeatManage.EnumType.Operation.OtherReader; waitSeatLog.WaitingState = SeatManage.EnumType.EnterOutLogType.WaitingCancel; if (SeatManage.Bll.T_SM_SeatWaiting.UpdateWaitLog(waitSeatLog)) { //rni = new SeatManage.ClassModel.ReaderNoticeInfo(); //rni.CardNo = waitSeatLog.CardNo; //rni.Type = SeatManage.EnumType.NoticeType.WaitSeatFail; //rni.Note = "您所等待的座位已被管理员释放,您的等待已被取消"; //SeatManage.Bll.T_SM_ReaderNotice.AddReaderNotice(rni); //msg = new PushMsgInfo(); //msg.Title = "您好,您已被取消等待"; //msg.MsgType = MsgPushType.AdminOperation; //msg.StudentNum = waitSeatLog.CardNo; //msg.Message = "您所等待的座位已被管理员释放,您的等待已被取消"; //SeatManage.Bll.T_SM_ReaderNotice.SendPushMsg(msg); } } } ret = Json(new { status = "yes", message = "黑名单添加成功" }, JsonRequestBehavior.AllowGet); } else { ret = Json(new { status = "no", message = "黑名单添加失败" }, JsonRequestBehavior.AllowGet); } } else { ret = Json(new { status = "no", message = "黑名单添加失败" }, JsonRequestBehavior.AllowGet); } return(ret); }
public ActionResult BlacklistInfo() { //初始化黑名单设置页面 SeatManage.ClassModel.BlacklistSetting blacklistset = SeatManage.Bll.T_SM_SystemSet.GetRegulationRulesSetting().BlacklistSet; ViewBag.IsBlUserdChecked = blacklistset.Used ? "yes" : "no"; ViewBag.nbvrcontText = blacklistset.ViolateTimes.ToString(); ViewBag.ddlleavemodeSelectedValue = ((int)blacklistset.LeaveBlacklist).ToString(); ViewBag.nbleavetimeText = blacklistset.LimitDays.ToString(); ViewBag.nbvrovertimeText = blacklistset.ViolateFailDays.ToString(); ViewBag.cbBookOverTimeChecked = blacklistset.ViolateRoule[SeatManage.EnumType.ViolationRecordsType.BookingTimeOut] ? "yes" : "no"; ViewBag.cbLeaveByAdminChecked = blacklistset.ViolateRoule[SeatManage.EnumType.ViolationRecordsType.LeaveByAdmin] ? "yes" : "no"; ViewBag.cbSeatOverTimeChecked = blacklistset.ViolateRoule[SeatManage.EnumType.ViolationRecordsType.SeatOutTime] ? "yes" : "no"; ViewBag.cbShortLeaveByAdminChecked = blacklistset.ViolateRoule[SeatManage.EnumType.ViolationRecordsType.ShortLeaveByAdminOutTime] ? "yes" : "no"; ViewBag.cbShortLeaveByReaderChecked = blacklistset.ViolateRoule[SeatManage.EnumType.ViolationRecordsType.ShortLeaveByReaderOutTime] ? "yes" : "no"; ViewBag.cbShortLeaveOverTimeChecked = blacklistset.ViolateRoule[SeatManage.EnumType.ViolationRecordsType.ShortLeaveOutTime] ? "yes" : "no"; //初始化门禁设置页面 SeatManage.ClassModel.AccessSetting accset = SeatManage.Bll.T_SM_SystemSet.GetAccessSetting(); if (accset == null) { accset = new SeatManage.ClassModel.AccessSetting(); } ViewBag.IsASUserdCheckedForm3 = accset.IsUsed ? "yes" : "no"; ViewBag.IsELUserdCheckedForm3 = accset.EnterLib ? "yes" : "no"; ViewBag.IsOLUserdCheckedForm3 = accset.OutLib ? "yes" : "no"; ViewBag.cbBLIsUsedCheckedForm3 = accset.IsLimitBlackList ? "yes" : "no"; ViewBag.IsAddrvCheckedForm3 = accset.AddViolationRecords ? "yes" : "no"; ViewBag.LeaveTimeTextForm3 = accset.LeaveTimeSpan.ToString(); ViewBag.ddlleavemodeSelectedValueForm3 = ((int)accset.LeaveMode).ToString(); ViewBag.IsOnSeatCheckedForm3 = accset.IsReleaseOnSeat ? "yes" : "no"; ViewBag.IsShortLeaveCheckedForm3 = accset.IsComeBack ? "yes" : "no"; ViewBag.IsBookingCheckedForm3 = accset.IsBookingConfinmed ? "yes" : "no"; //初始化微信端设置 SeatManage.ClassModel.PecketBookWebSetting setting = SeatManage.Bll.T_SM_SystemSet.GetPecketWebSetting(); if (setting == null) { setting = new SeatManage.ClassModel.PecketBookWebSetting(); } ViewBag.cb_UseBookComfirmChecked = setting.UseBookComfirm; ViewBag.cb_UseBookNextDaySeatChecked = setting.UseBookNextDaySeat; ViewBag.cb_UseBookNowDaySeatChecked = setting.UseBookNowDaySeat; ViewBag.cb_UseBookSeatChecked = setting.UseBookSeat; ViewBag.cb_UseCancelBookChecked = setting.UseCancelBook; ViewBag.cb_UseCancelWaitChecked = setting.UseCancelWait; ViewBag.cb_UseCanLeaveChecked = setting.UseCanLeave; ViewBag.cb_UseComeBackChecked = setting.UseComeBack; ViewBag.cb_UseContinueChecked = setting.UseContinue; ViewBag.cb_UseShortLeaveChecked = setting.UseShortLeave; ViewBag.cb_UseWaitSeatChecked = setting.UseWaitSeat; ViewBag.cb_ChangeSeatChecked = setting.UseChangeSeat; ViewBag.cb_SelectSeatChecked = setting.UseSelectSeat; //初始化消息推送 SeatManage.ClassModel.PushMsssageSetting objPushMsssageSetting = SeatManage.Bll.T_SM_SystemSet.GetMsgPushSet() ?? new SeatManage.ClassModel.PushMsssageSetting(); ViewBag.cb_AdminOperationChecked = objPushMsssageSetting.PushSetting[SeatManage.EnumType.MsgPushType.AdminOperation]; ViewBag.cb_EnterVrChecked = objPushMsssageSetting.PushSetting[SeatManage.EnumType.MsgPushType.EnterVR]; ViewBag.cb_EnterBlackChecked = objPushMsssageSetting.PushSetting[SeatManage.EnumType.MsgPushType.EnterBlack]; ViewBag.cb_LeaveVrBlackChecked = objPushMsssageSetting.PushSetting[SeatManage.EnumType.MsgPushType.LeaveVrBlack]; ViewBag.cb_OtherUserChecked = objPushMsssageSetting.PushSetting[SeatManage.EnumType.MsgPushType.OtherUser]; ViewBag.cb_TimeOutChecked = objPushMsssageSetting.PushSetting[SeatManage.EnumType.MsgPushType.TimeOut]; ViewBag.cb_UserOperationChecked = objPushMsssageSetting.PushSetting[SeatManage.EnumType.MsgPushType.UserOperation]; return(View()); }