/// <summary> /// 添加一条黑名单记录 /// </summary> /// <param name="blacklist"></param> /// <returns>黑名单序列号</returns> public int AddBlacklist(BlackListInfo blacklist) { try { int i = t_sm_Blacklist.Add(blacklist); //黑名单添加后,添加提醒 //ReaderNoticeInfo blackRni = new ReaderNoticeInfo(); //blackRni.IsRead = LogStatus.Valid; //blackRni.CardNo = blacklist.CardNo; //blackRni.Note = blacklist.ReMark; //blackRni.Type = NoticeType.AddBlacklistWarning; //AddReaderNotice(blackRni); PushMsgInfo msg = new PushMsgInfo(); msg.Title = "您好,你已被加入黑名单"; msg.MsgType = MsgPushType.EnterBlack; msg.StudentNum = blacklist.CardNo; msg.Message = blacklist.ReMark; msg.AddTime = blacklist.AddTime; msg.LeaveDate = blacklist.OutTime; msg.IsAutoLeaveBlack = blacklist.OutBlacklistMode == LeaveBlacklistMode.AutomaticMode; SendMsg(msg); return(i); } catch { throw; } }
public int UpdateBlacklist(BlackListInfo blacklist) { try { if (blacklist.BlacklistState == LogStatus.Fail) { ////黑名单添加后,添加提醒 //ReaderNoticeInfo blackRni = new ReaderNoticeInfo(); //blackRni.IsRead = LogStatus.Valid; //blackRni.CardNo = blacklist.CardNo; //blackRni.Type = NoticeType.DeleteBlacklistWarning; //blackRni.Note = "黑名单已过期。"; //AddReaderNotice(blackRni); PushMsgInfo msg = new PushMsgInfo(); msg.Title = "您好,您的黑名单已失效"; msg.MsgType = MsgPushType.LeaveVrBlack; msg.StudentNum = blacklist.CardNo; msg.AddTime = blacklist.AddTime; msg.LeaveDate = DateTime.Now; msg.Message = string.Format("您在{0}的黑名单状态已经到期或被管理员取消,请遵守系统使用规则。", blacklist.AddTime.ToString("yyyy-MM-dd HH:mm:ss")); SendMsg(msg); } return(t_sm_Blacklist.Update(blacklist)); } catch { throw; } }
/// <summary> /// 数据行转换为实体对象 /// </summary> /// <param name="dr"></param> /// <param name="blacklist"></param> /// <returns></returns> private BlackListInfo DataRowToBlacklist(DataRow dr, ref BlackListInfo blacklist) { blacklist.ID = dr["BlacklistID"].ToString(); blacklist.CardNo = dr["CardNo"].ToString(); blacklist.AddTime = DateTime.Parse(dr["AddTime"].ToString()); blacklist.BlacklistState = (LogStatus)int.Parse(dr["BlacklistState"].ToString()); blacklist.OutTime = DateTime.Parse(dr["OutTime"].ToString()); blacklist.ReadingRoomID = dr["ReadingRoomNo"].ToString(); blacklist.ReadingRoomName = dr["ReadingRoomName"].ToString(); blacklist.ReMark = dr["Remark"].ToString(); blacklist.ReaderName = dr["ReaderName"].ToString(); if (dr["ReaderTypeName"] != null) { blacklist.TypeName = dr["ReaderTypeName"].ToString(); } if (dr["ReaderDeptName"] != null) { blacklist.DeptName = dr["ReaderDeptName"].ToString(); } if (dr["Sex"] != null) { blacklist.Sex = dr["Sex"].ToString(); } blacklist.OutBlacklistMode = (LeaveBlacklistMode)int.Parse(dr["OutBlacklist"].ToString()); return(blacklist); }
/// <summary> /// 更新黑名单 /// </summary> /// <param name="model"></param> /// <returns></returns> public static int UpdateBlackList(BlackListInfo model) { IWCFService.ISeatManageService seatService = WcfAccessProxy.ServiceProxy.CreateChannelSeatManageService(); bool error = false; try { return(seatService.UpdateBlacklist(model)); } catch (Exception ex) { error = true; SeatManageComm.WriteLog.Write("更新黑名单错误:" + ex.Message); return(-1); } finally { ICommunicationObject ICommObjectService = seatService as ICommunicationObject; try { if (ICommObjectService.State == CommunicationState.Faulted) { ICommObjectService.Abort(); } else { ICommObjectService.Close(); } } catch { ICommObjectService.Abort(); } } }
/// <summary> /// 获取有效黑名单列表 /// </summary> /// <param name="cardNo"></param> /// <param name="roomNum"></param> /// <returns></returns> public List <BlackListInfo> GetBlacklistInfo(string cardNo) { List <BlackListInfo> blacklists = new List <BlackListInfo>(); StringBuilder strWhere = new StringBuilder(); strWhere.Append(string.Format(" BlacklistState={0}", (int)LogStatus.Valid)); if (!string.IsNullOrEmpty(cardNo)) { strWhere.Append(string.Format(" and cardNo='{0}'", cardNo)); } try { DataSet ds = t_sm_Blacklist.GetList(strWhere.ToString(), null); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { BlackListInfo model = new BlackListInfo(); DataRowToBlacklist(ds.Tables[0].Rows[i], ref model); blacklists.Add(model); } } catch { throw; } return(blacklists); }
/// <summary> /// 根据学号模糊查询黑名单记录 /// </summary> /// <param name="cardNo"></param> /// <param name="status"></param> /// <param name="beginDate"></param> /// <param name="endDate"></param> /// <returns></returns> public List <BlackListInfo> GetBlacklistInfos_ByFuzzySearch(string cardNo, LogStatus status, string beginDate, string endDate) { List <BlackListInfo> blacklists = new List <BlackListInfo>(); StringBuilder strWhere = new StringBuilder(); if (status != LogStatus.None) { strWhere.Append(string.Format(" BlacklistState={0}", (int)status)); } if (!string.IsNullOrEmpty(cardNo)) { if (string.IsNullOrEmpty(strWhere.ToString())) { strWhere.Append(string.Format(" CardNo like '%{0}%'", cardNo)); } else { strWhere.Append(string.Format("and CardNo like '%{0}%'", cardNo)); } } if (!string.IsNullOrEmpty(beginDate)) { if (string.IsNullOrEmpty(strWhere.ToString())) { strWhere.Append(string.Format(" AddTime >= '{0}'", beginDate)); } else { strWhere.Append(string.Format("and AddTime >= '{0}'", beginDate)); } } if (!string.IsNullOrEmpty(endDate)) { if (string.IsNullOrEmpty(strWhere.ToString())) { strWhere.Append(string.Format(" AddTime <= '{0}'", endDate)); } else { strWhere.Append(string.Format("and AddTime <= '{0}'", endDate)); } } try { DataSet ds = t_sm_Blacklist.GetList(strWhere.ToString(), null); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { BlackListInfo model = new BlackListInfo(); DataRowToBlacklist(ds.Tables[0].Rows[i], ref model); blacklists.Add(model); } } catch { throw; } return(blacklists); }
public BlackListInfo GetBlackListByKey(long ID) { BlackListInfo result = new BlackListInfo(); DataCommand command = new DataCommand(ConnectionString, GetDbCommand(BlackListStatement.GetBlackListByKey, "Text")); command.AddInputParameter("@BlackListID", DbType.String, ID); result = command.ExecuteEntity <BlackListInfo>(); return(result); }
public static BlackListEntity GetBlackListEntityById(long cid) { BlackListEntity result = new BlackListEntity(); BlackListRepository mr = new BlackListRepository(); BlackListInfo info = mr.GetBlackListByKey(cid); if (info != null) { result = TranslateBlackListEntity(info); } return(result); }
public List <BlackListInfo> GetBlacklistInfosByPage(string cardNo, int pageIndex, int pageSize) { List <BlackListInfo> blacklists = new List <BlackListInfo>(); DataSet ds = t_sm_Blacklist.GetList(cardNo, pageIndex, pageSize); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { BlackListInfo model = new BlackListInfo(); DataRowToBlacklist(ds.Tables[0].Rows[i], ref model); blacklists.Add(model); } return(blacklists); }
public int ModifyBlackList(BlackListInfo BlackList) { DataCommand command = new DataCommand(ConnectionString, GetDbCommand(BlackListStatement.ModifyBlackList, "Text")); command.AddInputParameter("@BlackType", DbType.String, BlackList.BlackType); command.AddInputParameter("@UnionID", DbType.Int32, BlackList.UnionID); command.AddInputParameter("@UnionName", DbType.String, BlackList.UnionName); command.AddInputParameter("@Remark", DbType.String, BlackList.Remark); command.AddInputParameter("@OperatorID", DbType.String, BlackList.OperatorID); command.AddInputParameter("@CardCode", DbType.String, BlackList.CardCode); command.AddInputParameter("@Status", DbType.Int32, BlackList.Status); command.AddInputParameter("@SubStatus", DbType.Int32, BlackList.SubStatus); command.AddInputParameter("@ChangeDate", DbType.DateTime, BlackList.ChangeDate); command.AddInputParameter("@BlackID", DbType.Int32, BlackList.BlackID); return(command.ExecuteNonQuery()); }
/// <summary> /// 更新黑名单 /// </summary> /// <param name="model"></param> /// <returns></returns> public static int UpdateBlackList(BlackListInfo model) { IWCFService.ISeatManageService seatService = new WcfServiceForSeatManage.SeatManageDateService(); bool error = false; try { return(seatService.UpdateBlacklist(model)); } catch (Exception ex) { error = true; SeatManageComm.WriteLog.Write("更新黑名单错误:" + ex.Message); return(-1); } }
/// <summary> /// 添加一条黑名单记录 /// </summary> /// <param name="strWhere"></param> /// <param name="parameters"></param> /// <returns></returns> public int Add(BlackListInfo model) { //TODO:不跟据阅览室状态添加进出记录 SqlParameter[] parameters = new SqlParameter[8]; parameters[0] = new SqlParameter("@BlacklistID", SqlDbType.Int); parameters[0].Direction = ParameterDirection.Output; parameters[1] = new SqlParameter("@CardNo", model.CardNo); parameters[2] = new SqlParameter("@ReadingRoomNo", model.ReadingRoomID); parameters[3] = new SqlParameter("@AddTime", model.AddTime); parameters[4] = new SqlParameter("@OutBlacklist", (int)model.OutBlacklistMode); parameters[5] = new SqlParameter("@OutTime", model.OutTime); parameters[6] = new SqlParameter("@ReMark", model.ReMark); parameters[7] = new SqlParameter("@BlacklistState", (int)model.BlacklistState); DbHelperSQL.Execute_Proc("Proc_AddBlackList", parameters); return((int)parameters[0].Value); }
///// <summary> ///// 增加一条数据 ///// </summary> //public bool Add(SeatManage.Model.T_SM_Blacklist model) //{ // StringBuilder strSql=new StringBuilder(); // strSql.Append("insert into T_SM_Blacklist("); // strSql.Append("BlacklistID,CardNo,ReadingRoomNo,AddTime,OutBlacklist,OutTime,ReMark,BlacklistState,Flag)"); // strSql.Append(" values ("); // strSql.Append("@BlacklistID,@CardNo,@ReadingRoomNo,@AddTime,@OutBlacklist,@OutTime,@ReMark,@BlacklistState,@Flag)"); // SqlParameter[] parameters = { // new SqlParameter("@BlacklistID", SqlDbType.Int,4), // new SqlParameter("@CardNo", SqlDbType.NVarChar,50), // new SqlParameter("@ReadingRoomNo", SqlDbType.Int,4), // new SqlParameter("@AddTime", SqlDbType.DateTime), // new SqlParameter("@OutBlacklist", SqlDbType.Int,4), // new SqlParameter("@OutTime", SqlDbType.DateTime), // new SqlParameter("@ReMark", SqlDbType.NVarChar,500), // new SqlParameter("@BlacklistState", SqlDbType.Int,4), // new SqlParameter("@Flag", SqlDbType.Bit,1)}; // parameters[0].Value = model.BlacklistID; // parameters[1].Value = model.CardNo; // parameters[2].Value = model.ReadingRoomNo; // parameters[3].Value = model.AddTime; // parameters[4].Value = model.OutBlacklist; // parameters[5].Value = model.OutTime; // parameters[6].Value = model.ReMark; // parameters[7].Value = model.BlacklistState; // parameters[8].Value = model.Flag; // int rows=DbHelperSQL.ExecuteSql(strSql.ToString(),parameters); // if (rows > 0) // { // return true; // } // else // { // return false; // } //} /// <summary> /// 更新一条数据 /// </summary> public int Update(BlackListInfo model) { StringBuilder strSql = new StringBuilder(); strSql.Append("update T_SM_Blacklist set "); strSql.Append("CardNo=@CardNo,"); strSql.Append("ReadingRoomNo=@ReadingRoomNo,"); strSql.Append("AddTime=@AddTime,"); strSql.Append("OutBlacklist=@OutBlacklist,"); strSql.Append("OutTime=@OutTime,"); strSql.Append("ReMark=@ReMark,"); strSql.Append("BlacklistState=@BlacklistState"); strSql.Append(" where BlacklistID=@BlacklistID "); SqlParameter[] parameters = { new SqlParameter("@CardNo", SqlDbType.NVarChar, 50), new SqlParameter("@ReadingRoomNo", SqlDbType.NVarChar, 50), new SqlParameter("@AddTime", SqlDbType.DateTime), new SqlParameter("@OutBlacklist", SqlDbType.Int, 4), new SqlParameter("@OutTime", SqlDbType.DateTime), new SqlParameter("@ReMark", SqlDbType.NVarChar, 500), new SqlParameter("@BlacklistState", SqlDbType.Int, 4), new SqlParameter("@BlacklistID", SqlDbType.Int, 4) }; parameters[0].Value = model.CardNo; parameters[1].Value = model.ReadingRoomID; parameters[2].Value = model.AddTime; parameters[3].Value = (int)model.OutBlacklistMode; parameters[4].Value = model.OutTime; parameters[5].Value = model.ReMark; parameters[6].Value = (int)model.BlacklistState; parameters[7].Value = model.ID; int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters); if (rows > 0) { return(1); } else { return(0); } }
public long CreateNew(BlackListInfo BlackList) { //,,,Remark,OperatorID,,CreateTime,ChangeDate DataCommand command = new DataCommand(ConnectionString, GetDbCommand(BlackListStatement.CreateNewBlackList, "Text")); command.AddInputParameter("@BlackType", DbType.String, BlackList.BlackType); command.AddInputParameter("@UnionID", DbType.Int32, BlackList.UnionID); command.AddInputParameter("@UnionName", DbType.String, BlackList.UnionName); command.AddInputParameter("@Remark", DbType.String, BlackList.Remark); command.AddInputParameter("@OperatorID", DbType.String, BlackList.OperatorID); command.AddInputParameter("@CardCode", DbType.String, BlackList.CardCode); command.AddInputParameter("@Status", DbType.Int32, BlackList.Status); command.AddInputParameter("@SubStatus", DbType.Int32, BlackList.SubStatus); command.AddInputParameter("@CreateDate", DbType.DateTime, BlackList.CreateDate); command.AddInputParameter("@ChangeDate", DbType.DateTime, BlackList.ChangeDate); var o = command.ExecuteScalar <object>(); return(Convert.ToInt64(o)); }
public static bool ModifyBlackList(BlackListEntity entity) { long result = 0; if (entity != null) { BlackListRepository mr = new BlackListRepository(); BlackListInfo info = TranslateBlackListInfo(entity); if (entity.BlackID > 0) { info.ChangeDate = DateTime.Now; mr.ModifyBlackList(info); } else { info.ChangeDate = DateTime.Now; info.CreateDate = DateTime.Now; result = mr.CreateNew(info); } } return(result > 0); }
private static BlackListEntity TranslateBlackListEntity(BlackListInfo info) { BlackListEntity entity = new BlackListEntity(); if (info != null) { entity.BlackID = info.BlackID; entity.BlackType = info.BlackType; entity.BlackTypeDesc = StringHelper.GetBlackTypeDesc(info.BlackType); entity.UnionID = info.UnionID; entity.UnionName = info.UnionName; entity.Status = info.Status; entity.SubStatus = info.SubStatus; entity.CardCode = info.CardCode; entity.Remark = info.Remark; entity.OperatorID = info.OperatorID; entity.CreateDate = info.CreateDate; entity.ChangeDate = info.ChangeDate; } return(entity); }
private static BlackListInfo TranslateBlackListInfo(BlackListEntity entity) { BlackListInfo info = new BlackListInfo(); if (info != null) { info.BlackID = entity.BlackID; info.BlackType = entity.BlackType; info.UnionID = entity.UnionID; info.UnionName = entity.UnionName; info.Status = entity.Status; info.SubStatus = entity.SubStatus; info.CardCode = entity.CardCode; info.Remark = entity.Remark; info.OperatorID = entity.OperatorID; info.CreateDate = entity.CreateDate; info.ChangeDate = entity.ChangeDate; } return(info); }
/// <summary> /// 获取一条黑名单记录 /// </summary> /// <param name="ID"></param> /// <returns></returns> public BlackListInfo GetBlistList(string ID) { BlackListInfo blacklist = new BlackListInfo(); StringBuilder strWhere = new StringBuilder(); strWhere.Append(" BlacklistID='" + ID + "'"); try { DataSet ds = t_sm_Blacklist.GetList(strWhere.ToString(), null); if (ds.Tables[0].Rows.Count > 0) { DataRowToBlacklist(ds.Tables[0].Rows[0], ref blacklist); } else { blacklist = null; } } catch { throw; } return(blacklist); }
/// <summary> /// 管理员对座位进行管理操作 /// </summary> /// <param name="seatNoList">多选座位列表</param> /// <param name="operateType">操作类型</param> /// <param name="loginId">登录名</param> /// <returns></returns> public string SeatOperation(string seatNoList, string operateType, string loginId) { try { JM_HandleResultObject result = new JM_HandleResultObject(); result.Result = false; List <JM_Seat> list = SeatManage.SeatManageComm.JSONSerializer.Deserialize <List <JM_Seat> >(seatNoList); int successResult = 0; int failResult = 0; List <string> noList = new List <string>(); string no = list[0].ReadingRoomNum; noList.Add(no); List <ReadingRoomInfo> room = seatDataService.GetReadingRoomInfo(noList); switch (operateType) { #region 设置暂离 case "shortLeave": try { foreach (JM_Seat seat in list) { EnterOutLogInfo model = seatDataService.GetEnterOutLogInfoBySeatNum(seat.SeatNo); if (model != null && model.EnterOutState != SeatManage.EnumType.EnterOutLogType.ShortLeave) { model.EnterOutState = SeatManage.EnumType.EnterOutLogType.ShortLeave; model.Flag = SeatManage.EnumType.Operation.Admin; model.Remark = "在" + model.ReadingRoomName + "," + model.SeatNo + "号座位,被管理员" + loginId + ",通过手持设备设置为暂离"; int newId = -1; SeatManage.EnumType.HandleResult rs = seatDataService.AddEnterOutLogInfo(model, ref newId); if (rs == SeatManage.EnumType.HandleResult.Successed) { successResult++; result.Result = true; } else { failResult++; } } } result.Msg = "设置读者暂离"; } catch (Exception ex) { SeatManage.SeatManageComm.WriteLog.Write("设置读者暂离遇到异常:" + ex.Message); result.Result = false; result.Msg = "执行遇到异常!"; } break; #endregion #region 取消暂离 case "comeBack": try { foreach (JM_Seat seat in list) { EnterOutLogInfo model = seatDataService.GetEnterOutLogInfoBySeatNum(seat.SeatNo); if (model != null && model.EnterOutState == EnterOutLogType.ShortLeave) { model.EnterOutState = EnterOutLogType.ComeBack; model.Flag = Operation.Admin; model.Remark = "在" + model.ReadingRoomName + "," + model.SeatNo + "号座位,被管理员" + loginId + ",通过手持设备取消暂离,恢复为在座"; int newId = -1; SeatManage.EnumType.HandleResult rs = seatDataService.AddEnterOutLogInfo(model, ref newId); if (rs == SeatManage.EnumType.HandleResult.Successed) { List <SeatManage.ClassModel.WaitSeatLogInfo> logs = seatDataService.GetWaitLogList("", model.EnterOutLogID, null, null, null); WaitSeatLogInfo log = null; if (logs.Count > 0) { log = logs[0]; log.NowState = LogStatus.Fail; log.OperateType = Operation.OtherReader; log.WaitingState = EnterOutLogType.WaitingCancel; if (seatDataService.UpdateWaitLog(log)) { //result.Result = true; //result.Msg = "取消读者暂离成功"; successResult++; result.Result = true; } else { //result.Result = true; //result.Msg = "取消读者暂离成功,释放读者等待失败"; successResult++; result.Result = true; } } else { //result.Result = true; //result.Msg = "取消读者暂离成功"; successResult++; result.Result = true; } } else { //result.Result = false; //result.Msg = "取消读者暂离失败"; failResult++; } } } result.Msg = "取消读者暂离"; } catch (Exception ex) { SeatManage.SeatManageComm.WriteLog.Write("取消读者暂离遇到异常:" + ex.Message); result.Result = false; result.Msg = "执行遇到异常!"; } break; #endregion #region 释放座位 case "leave": try { foreach (JM_Seat seat in list) { EnterOutLogInfo model = seatDataService.GetEnterOutLogInfoBySeatNum(seat.SeatNo); if (model != null && model.EnterOutState != EnterOutLogType.Leave) { model.EnterOutState = EnterOutLogType.Leave; model.Flag = Operation.Admin; model.Remark = "在" + model.ReadingRoomName + "," + model.SeatNo + "号座位,被管理员" + loginId + ",通过手持设备设置离开"; int newId = -1; HandleResult rs = seatDataService.AddEnterOutLogInfo(model, ref newId); if (rs == HandleResult.Successed) { SeatManage.ClassModel.RegulationRulesSetting rules = seatDataService.GetRegulationRulesSetting(); if (room[0].Setting.IsRecordViolate) { if (room[0].Setting.BlackListSetting.Used) { if (room[0].Setting.BlackListSetting.ViolateRoule[ViolationRecordsType.LeaveByAdmin]) { ViolationRecordsLogInfo logs = new ViolationRecordsLogInfo(); logs.CardNo = model.CardNo; logs.SeatID = model.SeatNo.Substring(model.SeatNo.Length - room[0].Setting.SeatNumAmount, room[0].Setting.SeatNumAmount); logs.ReadingRoomID = model.ReadingRoomNo; logs.EnterOutTime = DateTime.Now.ToString(); logs.EnterFlag = ViolationRecordsType.LeaveByAdmin; logs.Remark = string.Format("在{0},{1}号座位,被管理员{2},通过手持设备设置离开", room[0].Name, model.ShortSeatNo, loginId); logs.BlacklistID = "-1"; seatDataService.AddViolationRecordsLog(logs); } } else if (rules.BlacklistSet.Used && rules.BlacklistSet.ViolateRoule[ViolationRecordsType.LeaveByAdmin]) { ViolationRecordsLogInfo logs = new ViolationRecordsLogInfo(); logs.CardNo = model.CardNo; logs.SeatID = model.SeatNo.Substring(model.SeatNo.Length - room[0].Setting.SeatNumAmount, room[0].Setting.SeatNumAmount); logs.ReadingRoomID = model.ReadingRoomNo; logs.EnterOutTime = DateTime.Now.ToString(); logs.EnterFlag = ViolationRecordsType.LeaveByAdmin; logs.Remark = string.Format("在{0},{1}号座位,被管理员{2},通过手持设备设置离开", room[0].Name, model.ShortSeatNo, loginId); logs.BlacklistID = "-1"; seatDataService.AddViolationRecordsLog(logs); } } result.Result = true; //result.Msg = "成功释放读者座位"; successResult++; } else { //result.Result = false; //result.Msg = "释放读者座位失败"; failResult++; } } } result.Msg = "释放读者座位"; } catch (Exception ex) { SeatManage.SeatManageComm.WriteLog.Write("释放读者座位遇到异常:" + ex.Message); result.Result = false; result.Msg = "执行遇到异常!"; } break; #endregion #region 加入计时 case "timing": try { foreach (JM_Seat seat in list) { EnterOutLogInfo model = seatDataService.GetEnterOutLogInfoBySeatNum(seat.SeatNo); if (model != null && model.EnterOutState != EnterOutLogType.ShortLeave) { DateTime markTime = DateTime.Now; if (seatDataService.UpdateMarkTime(model.EnterOutLogID, markTime)) { //result.Result = true; //result.Msg = "加入计时成功"; successResult++; result.Result = true; } else { //result.Result = false; //result.Msg = "加入计时失败"; failResult++; } } } result.Msg = "加入计时"; } catch (Exception ex) { SeatManage.SeatManageComm.WriteLog.Write("加入计时遇到异常:" + ex.Message); result.Result = false; result.Msg = "执行遇到异常!"; } break; #endregion #region 取消计时 case "cancelTiming": try { foreach (JM_Seat seat in list) { EnterOutLogInfo model = seatDataService.GetEnterOutLogInfoBySeatNum(seat.SeatNo); if (model != null && !string.IsNullOrEmpty(model.MarkTime.ToString()) && model.MarkTime.CompareTo(DateTime.Parse("1900/1/1")) != 0) { DateTime markTime = DateTime.Parse("1900/1/1"); if (seatDataService.UpdateMarkTime(model.EnterOutLogID, markTime)) { //result.Result = true; //result.Msg = "取消计时成功"; successResult++; result.Result = true; } else { //result.Result = false; //result.Msg = "取消计时失败"; failResult++; } } } result.Msg = "取消计时"; } catch (Exception ex) { SeatManage.SeatManageComm.WriteLog.Write("取消计时遇到异常:" + ex.Message); result.Result = false; result.Msg = "执行遇到异常!"; } break; #endregion #region 加入黑名单 case "addBlackList": try { int newId = -1; SeatManage.ClassModel.RegulationRulesSetting rules = seatDataService.GetRegulationRulesSetting(); if (!room[0].Setting.BlackListSetting.Used && !rules.BlacklistSet.Used) { result.Result = false; result.Msg = "阅览室未开启记录黑名单功能"; break; } foreach (JM_Seat seat in list) { EnterOutLogInfo model = seatDataService.GetEnterOutLogInfoBySeatNum(seat.SeatNo); if (model != null && model.EnterOutState != EnterOutLogType.Leave) { if (room[0] != null && room[0].Setting.BlackListSetting.Used) { BlackListInfo info = new BlackListInfo(); info.AddTime = DateTime.Now; info.BlacklistState = LogStatus.Valid; info.CardNo = model.CardNo; info.ReadingRoomID = model.ReadingRoomNo; info.OutBlacklistMode = rules.BlacklistSet.LeaveBlacklist; if (info.OutBlacklistMode == LeaveBlacklistMode.AutomaticMode) { info.ReMark = string.Format("管理员{0}通过手持设备{0}把读者加入黑名单,记录黑名单{1}天", loginId, room[0].Setting.BlackListSetting.LimitDays); info.OutTime = info.AddTime.AddDays(room[0].Setting.BlackListSetting.LimitDays); } else { info.ReMark = string.Format("管理员{0}通过手持设备把读者加入黑名单,手动离开黑名单", loginId); } newId = seatDataService.AddBlacklist(info); } else if (rules.BlacklistSet.Used) { BlackListInfo info = new BlackListInfo(); info.AddTime = DateTime.Now; info.OutTime = info.AddTime.AddDays(rules.BlacklistSet.LimitDays); info.BlacklistState = LogStatus.Valid; info.CardNo = model.CardNo; info.OutBlacklistMode = rules.BlacklistSet.LeaveBlacklist; if (info.OutBlacklistMode == LeaveBlacklistMode.AutomaticMode) { info.ReMark = string.Format("管理员{0}通过手持设备把读者加入黑名单,记录黑名单{1}天", loginId, rules.BlacklistSet.LimitDays); info.OutTime = info.AddTime.AddDays(rules.BlacklistSet.LimitDays); } else { info.ReMark = string.Format("管理员{0}通过手持设备把读者加入黑名单,手动离开黑名单", loginId); } newId = seatDataService.AddBlacklist(info); } if (newId > 0) { model.EnterOutState = EnterOutLogType.Leave; model.Flag = Operation.Admin; model.Remark = string.Format("在{0},{1}号座位,被管理员{2},通过手持设备设置离开", room[0].Name, model.ShortSeatNo, loginId); HandleResult rs = seatDataService.AddEnterOutLogInfo(model, ref newId); if (rs == HandleResult.Successed) { //result.Result = true; //result.Msg = "成功将读者加入黑名单!"; successResult++; result.Result = true; } else { //result.Result = false; //result.Msg = "将读者加入黑名单失败!"; failResult++; } } else { //result.Result = false; //result.Msg = "将读者加入黑名单失败!"; failResult++; } } } result.Msg = "加入黑名单"; } catch (Exception ex) { SeatManage.SeatManageComm.WriteLog.Write("加入黑名单遇到异常:" + ex.Message); result.Result = false; result.Msg = "执行遇到异常!"; } break; #endregion } StringBuilder str = new StringBuilder(); if (result.Result) { str.Append("成功"); } else { str.Append("失败"); } if (successResult > 0) { str.Append(string.Format(",成功{0}条", successResult)); } if (failResult > 0) { str.Append(string.Format(",失败{0}条", failResult)); } result.Msg = result.Msg + str.ToString(); return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result)); } catch (Exception ex) { SeatManage.SeatManageComm.WriteLog.Write("对座位进行操作遇到异常:" + ex.Message); JM_HandleResultObject result = new JM_HandleResultObject(); result.Result = false; result.Msg = "执行遇到异常!"; return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result)); } }
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 } }
/// <summary> /// 添加违规记录 /// </summary> /// <param name="blacklist"></param> public HandleResult AddViolationRecordsLog(ViolationRecordsLogInfo ViolationRecordsLog) { //添加违规记录 bool result = violateDiscipline.Add(ViolationRecordsLog); //return HandleResult.Successed; #region 添加提醒,已被注销 if (result) { List <string> roomlist = new List <string>(); roomlist.Add(ViolationRecordsLog.ReadingRoomID); List <ReadingRoomInfo> roominfos = GetReadingRoomInfo(null); Dictionary <string, ReadingRoomSetting> roomSettings = new Dictionary <string, ReadingRoomSetting>(); for (int i = 0; i < roominfos.Count; i++) { roomSettings.Add(roominfos[i].No, roominfos[i].Setting); } if (roomSettings[ViolationRecordsLog.ReadingRoomID] != null && roomSettings[ViolationRecordsLog.ReadingRoomID].BlackListSetting.Used) { List <ViolationRecordsLogInfo> violateRecords = GetViolationRecordsLogInfo(ViolationRecordsLog.CardNo, ViolationRecordsLog.ReadingRoomID); //添加读者提醒 //ReaderNoticeInfo rni = new ReaderNoticeInfo(); //rni.Type = NoticeType.ViolationWarning; //rni.IsRead = LogStatus.Valid; //rni.CardNo = ViolationRecordsLog.CardNo; //rni.Note = string.Format("{0},还有{1}次违规,就进入黑名单", ViolationRecordsLog.Remark, roomSettings[ViolationRecordsLog.ReadingRoomID].BlackListSetting.ViolateTimes - violateRecords.Count); //AddReaderNotice(rni); PushMsgInfo msg = new PushMsgInfo(); msg.Title = "您好,您有一次违规"; msg.MsgType = MsgPushType.EnterVR; msg.StudentNum = ViolationRecordsLog.CardNo; msg.RoomName = roominfos.Find(u => u.No == ViolationRecordsLog.ReadingRoomID).Name; msg.VrType = ViolationRecordsLog.EnterFlag; msg.Message = string.Format("{0},还有{1}次违规,就进入黑名单", ViolationRecordsLog.Remark, roomSettings[ViolationRecordsLog.ReadingRoomID].BlackListSetting.ViolateTimes - violateRecords.Count); SendMsg(msg); if (violateRecords.Count >= roomSettings[ViolationRecordsLog.ReadingRoomID].BlackListSetting.ViolateTimes) { BlackListInfo bli = new BlackListInfo(); bli.CardNo = ViolationRecordsLog.CardNo; bli.ReadingRoomID = ViolationRecordsLog.ReadingRoomID; bli.AddTime = GetServerDateTime(); bli.OutBlacklistMode = roomSettings[ViolationRecordsLog.ReadingRoomID].BlackListSetting.LeaveBlacklist; if (bli.OutBlacklistMode == LeaveBlacklistMode.ManuallyMode) { bli.ReMark = string.Format("违规累计{0}次,被加入黑名单", roomSettings[ViolationRecordsLog.ReadingRoomID].BlackListSetting.ViolateTimes); } else { bli.OutTime = bli.AddTime.AddDays(roomSettings[ViolationRecordsLog.ReadingRoomID].BlackListSetting.LimitDays); bli.ReMark = string.Format("违规累计{0}次,被加入黑名单{1}天", roomSettings[ViolationRecordsLog.ReadingRoomID].BlackListSetting.ViolateTimes, roomSettings[ViolationRecordsLog.ReadingRoomID].BlackListSetting.LimitDays); } int blackId = AddBlacklist(bli); //修改黑名单涉及的违规记录 foreach (ViolationRecordsLogInfo vr in violateRecords) { vr.BlacklistID = blackId.ToString(); vr.Flag = LogStatus.Fail; UpdateViolationRecordsLog(vr); } } } else { //判断黑名单 RegulationRulesSetting set = GetRegulationRulesSetting(); List <ViolationRecordsLogInfo> violateRecords = GetViolationRecordsLogInfo(ViolationRecordsLog.CardNo, null); for (int i = 0; i < violateRecords.Count; i++) { if (roomSettings[violateRecords[i].ReadingRoomID].BlackListSetting.Used) { violateRecords.RemoveAt(i); i--; } } //添加读者提醒 //ReaderNoticeInfo rni = new ReaderNoticeInfo(); //rni.Type = NoticeType.ViolationWarning; //rni.IsRead = LogStatus.Valid; //rni.CardNo = ViolationRecordsLog.CardNo; //rni.Note = string.Format("{0},还有{1}次违规,就进入黑名单", ViolationRecordsLog.Remark, roomSettings[ViolationRecordsLog.ReadingRoomID].BlackListSetting.ViolateTimes - violateRecords.Count); //AddReaderNotice(rni); PushMsgInfo msg = new PushMsgInfo(); msg.Title = "您好,您有一次违规"; msg.MsgType = MsgPushType.EnterVR; msg.StudentNum = ViolationRecordsLog.CardNo; msg.RoomName = roominfos.Find(u => u.No == ViolationRecordsLog.ReadingRoomID).Name; msg.VrType = ViolationRecordsLog.EnterFlag; msg.Message = string.Format("{0},还有{1}次违规,就进入黑名单", ViolationRecordsLog.Remark, set.BlacklistSet.ViolateTimes - violateRecords.Count); SendMsg(msg); if (violateRecords.Count >= set.BlacklistSet.ViolateTimes) { BlackListInfo bli = new BlackListInfo(); bli.CardNo = ViolationRecordsLog.CardNo; bli.ReadingRoomID = ViolationRecordsLog.ReadingRoomID; bli.AddTime = GetServerDateTime(); bli.OutTime = bli.AddTime.AddDays(set.BlacklistSet.LimitDays); bli.OutBlacklistMode = set.BlacklistSet.LeaveBlacklist; if (bli.OutBlacklistMode == LeaveBlacklistMode.ManuallyMode) { bli.ReMark = string.Format("违规累计{0}次,被加入黑名单", set.BlacklistSet.ViolateTimes); } else { bli.ReMark = string.Format("多次违规,被加入黑名单{1}天", set.BlacklistSet.ViolateTimes, set.BlacklistSet.LimitDays); } int blackId = AddBlacklist(bli); //修改黑名单涉及的违规记录 foreach (ViolationRecordsLogInfo vr in violateRecords) { vr.BlacklistID = blackId.ToString(); vr.Flag = LogStatus.Fail; UpdateViolationRecordsLog(vr); } } } return(HandleResult.Successed); } else { return(HandleResult.Failed); } #endregion }