/// <summary> /// 刷卡结果处理 /// </summary> private void PosCardHandle(string cardNo) { try { clientObject.ReaderInfo = EnterOutOperate.GetReaderInfo(cardNo); #region 判断当前读者状态 EnterOutLogType nowReaderStatus = EnterOutLogType.Leave; if (clientObject.ReaderInfo.EnterOutLog != null && clientObject.ReaderInfo.EnterOutLog.EnterOutState != EnterOutLogType.Leave) { nowReaderStatus = clientObject.ReaderInfo.EnterOutLog.EnterOutState; } else if (clientObject.ReaderInfo.BespeakLog.Count > 0) { nowReaderStatus = EnterOutLogType.BespeakWaiting; } else if (clientObject.ReaderInfo.WaitSeatLog != null) { nowReaderStatus = EnterOutLogType.Waiting; } #endregion switch (nowReaderStatus) { case EnterOutLogType.Leave: case EnterOutLogType.BespeakWaiting: case EnterOutLogType.Waiting: HandelMessage(" 没有座位,谢谢配合。", EnumSimpleTipFormIco.Small); break; //posCardHandle.BespeakSeatWait(); //break; case EnterOutLogType.BookingConfirmation: case EnterOutLogType.SelectSeat: case EnterOutLogType.ContinuedTime: case EnterOutLogType.ComeBack: case EnterOutLogType.ReselectSeat: case EnterOutLogType.WaitingSuccess: LeaveHandle(); //读者进行离开操作 break; case EnterOutLogType.ShortLeave: posCardHandle.CometoBack(); //暂时离开回来 break; default: HandelMessage(" 没有座位,谢谢配合。", EnumSimpleTipFormIco.Small); break; } } catch (Exception ex) { SeatManage.SeatManageComm.WriteLog.Write("操作遇到异常:" + ex.Message); HandelMessage(" 处理遇到异常,可能是因为网络原因导致,详细信息请查看错误日志。", EnumSimpleTipFormIco.Cry); } }
protected void btnDelayTime_OnClick(object sender, EventArgs e) { SeatManage.ClassModel.ReaderInfo reader = EnterOutOperate.GetReaderInfo(this.LoginId); reader.EnterOutLog.Remark = "通过预约网站延长座位使用时间"; reader.EnterOutLog.EnterOutState = EnterOutLogType.ContinuedTime; string result = EnterOutOperate.DelaySeatUsedTime(reader); if (!string.IsNullOrEmpty(result)) { lblMsg.Text = result; } else { lblMsg.Text = "操作成功"; } }
protected void btnLeave_OnClick(object sender, EventArgs e) { try { SeatManage.ClassModel.ReaderInfo reader = EnterOutOperate.GetReaderInfo(this.LoginId); int newLogId = -1; reader.EnterOutLog.EnterOutState = EnterOutLogType.Leave; reader.EnterOutLog.Flag = Operation.Reader; reader.EnterOutLog.Remark = "通过预约网站释放座位"; HandleResult reault = EnterOutOperate.AddEnterOutLog(reader.EnterOutLog, ref newLogId); if (reault == HandleResult.Successed) { lblMsg.Text = "操作成功"; DateBind(); } } catch (Exception ex) { lblMsg.Text = "未知错误,操作失败"; } }
private void DateBind() { SeatManage.ClassModel.ReaderInfo reader = EnterOutOperate.GetReaderInfo(this.LoginId); if (reader.AtReadingRoom == null) { lblSeatInfo.Text = "无"; btnDelayTime.Enabled = false; btnLeave.Enabled = false; btnShortLeave.Enabled = false; return; } SeatManage.ClassModel.ReadingRoomSetting roomSet = reader.AtReadingRoom.Setting; if (roomSet.SeatUsedTimeLimit.Used && roomSet.SeatUsedTimeLimit.IsCanContinuedTime) { btnDelayTime.Enabled = roomSet.SeatBespeak.AllowDelayTime; } else { btnDelayTime.Enabled = false; } btnLeave.Enabled = roomSet.SeatBespeak.AllowLeave; btnShortLeave.Enabled = roomSet.SeatBespeak.AllowShortLeave; if (reader.EnterOutLog != null && reader.EnterOutLog.EnterOutState != EnterOutLogType.Leave) { switch (reader.EnterOutLog.EnterOutState) { case EnterOutLogType.ShortLeave: lblSeatInfo.Text = string.Format("{0} {1}", reader.EnterOutLog.ReadingRoomName, reader.EnterOutLog.ShortSeatNo); lblState.Text = "暂离"; lblHoldTime.Text = reader.EnterOutLog.EnterOutTime.ToString(); btnShortLeave.Enabled = false; btnDelayTime.Enabled = false; break; case EnterOutLogType.BookingConfirmation: case EnterOutLogType.SelectSeat: case EnterOutLogType.ContinuedTime: case EnterOutLogType.ComeBack: case EnterOutLogType.ReselectSeat: case EnterOutLogType.WaitingSuccess: lblSeatInfo.Text = string.Format("{0} {1}", reader.EnterOutLog.ReadingRoomName, reader.EnterOutLog.ShortSeatNo); lblState.Text = "在座"; lblHoldTime.Text = reader.EnterOutLog.EnterOutTime.ToString(); break; default: btnDelayTime.Enabled = false; btnLeave.Enabled = false; btnShortLeave.Enabled = false; break; } } else { lblSeatInfo.Text = "无"; btnDelayTime.Enabled = false; btnLeave.Enabled = false; btnShortLeave.Enabled = false; } }
public void ActiveBook() { try { PopupWindowsObject.GetInstance().Window.ShowMessage(TipType.ActivationReadCard); if (PopupWindowsObject.GetInstance().Window.ViewModel.OperateResule == HandleResult.Successed) { ClientObject.EnterOutLogData = new OperateResult.OperateResult(); ClientObject.EnterOutLogData.Student = EnterOutOperate.GetReaderInfo(PopupWindowsObject.GetInstance().Window.ViewModel.CardNo); if (ClientObject.EnterOutLogData.Student == null) { ClientObject.EnterOutLogData.Student = new SeatManage.ClassModel.ReaderInfo() { CardNo = PopupWindowsObject.GetInstance().Window.ViewModel.CardNo }; } SeatManage.ClassModel.UserInfo user = Users_ALL.GetUserInfo(PopupWindowsObject.GetInstance().Window.ViewModel.CardNo); if (user != null) { if (user.IsUsing == LogStatus.Valid)//判断用户状态是否启用。 { PopupWindowsObject.GetInstance().Window.ShowMessage(TipType.CancelActivationWarn); if (PopupWindowsObject.GetInstance().Window.ViewModel.OperateResule == HandleResult.Successed) { user.IsUsing = LogStatus.Fail;// user.Remark = "终端刷卡注销"; Users_ALL.UpdateUserOnlyInfo(user); PopupWindowsObject.GetInstance().Window.ShowMessage(TipType.CancelActivationSuccess); } } else {//如果读者用户状态是失效,则重新激活。 user.IsUsing = LogStatus.Valid; user.Password = MD5Algorithm.GetMD5Str32(PopupWindowsObject.GetInstance().Window.ViewModel.CardNo); user.Remark = "终端刷卡重新激活"; if (Users_ALL.UpdateUserOnlyInfo(user)) { PopupWindowsObject.GetInstance().Window.ShowMessage(TipType.ActivationSuccess); } } } else { SeatManage.ClassModel.UserInfo newUser = new SeatManage.ClassModel.UserInfo(); newUser.IsUsing = LogStatus.Valid; newUser.LoginId = PopupWindowsObject.GetInstance().Window.ViewModel.CardNo; newUser.Password = MD5Algorithm.GetMD5Str32(PopupWindowsObject.GetInstance().Window.ViewModel.CardNo); newUser.UserType = UserType.Reader; newUser.UserName = ClientObject.EnterOutLogData.Student == null ? "" : ClientObject.EnterOutLogData.Student.Name; newUser.Remark = "在终端刷卡激活"; if (Users_ALL.AddNewUser(newUser)) { PopupWindowsObject.GetInstance().Window.ShowMessage(TipType.ActivationSuccess); } } //预约激活处理 } } catch (Exception ex) { WriteLog.Write("预约激活遇到异常" + ex.Message); PopupWindowsObject.GetInstance().Window.ShowMessage(TipType.Exception); } finally { ClientObject.EnterOutLogData = null; } }
/// <summary> /// 刷卡结果处理 /// </summary> private void PosCardHandle(string cardNo) { WPF_ReaderInfo.MainWindow read = new WPF_ReaderInfo.MainWindow(); try { clientObject.EnterOutLogData.Student = EnterOutOperate.GetReaderInfo(cardNo); #region 判断当前读者状态 EnterOutLogType nowReaderStatus = EnterOutLogType.Leave; if (clientObject.EnterOutLogData.Student.EnterOutLog != null && clientObject.EnterOutLogData.Student.EnterOutLog.EnterOutState != EnterOutLogType.Leave) { nowReaderStatus = clientObject.EnterOutLogData.Student.EnterOutLog.EnterOutState; } else if (clientObject.EnterOutLogData.Student.BespeakLog.Count > 0) { nowReaderStatus = EnterOutLogType.BespeakWaiting; } else if (clientObject.EnterOutLogData.Student.WaitSeatLog != null) { nowReaderStatus = EnterOutLogType.Waiting; } #endregion posCardHandle.ShowNotice(); read.reader.ReaderInfo = clientObject.EnterOutLogData.Student; if (clientObject.ClientSetting.DeviceSetting.SystemResoultion.WindowSize.Size.X == 1080) { read.Left = 0; read.Top = 720; } else { read.Left = 1024; read.Top = 0; } read.Width = 350; read.Height = 200; read.Show(); switch (nowReaderStatus) { case EnterOutLogType.Leave: clientObject.EnterOutLogData.EnterOutlog = new SeatManage.ClassModel.EnterOutLogInfo(); clientObject.EnterOutLogData.EnterOutlog.CardNo = cardNo; posCardHandle.ChooseSeat(); break; case EnterOutLogType.BespeakWaiting: posCardHandle.BespeakSeatWait(); break; case EnterOutLogType.BookingConfirmation: case EnterOutLogType.SelectSeat: case EnterOutLogType.ContinuedTime: case EnterOutLogType.ComeBack: case EnterOutLogType.ReselectSeat: case EnterOutLogType.WaitingSuccess: clientObject.EnterOutLogData.EnterOutlog = clientObject.EnterOutLogData.Student.EnterOutLog; posCardHandle.LeaveOperate(); break; case EnterOutLogType.ShortLeave: clientObject.EnterOutLogData.EnterOutlog = clientObject.EnterOutLogData.Student.EnterOutLog; posCardHandle.CometoBack(); break; case EnterOutLogType.Waiting: posCardHandle.WaitingSeat(); break; } } catch (Exception ex) { WriteLog.Write(string.Format("执行遇到错误:{0}", ex.Message)); SeatManage.SeatClient.Tip.Tip_Framework tip = new SeatManage.SeatClient.Tip.Tip_Framework(SeatManage.EnumType.TipType.Exception, 7);//显示提示窗体 tip.ShowDialog(); } finally { read.Close(); posCardHandle.Resetting();//执行初始化操作 } }