/// <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);
            }
        }
Beispiel #2
0
        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 = "操作成功";
            }
        }
Beispiel #3
0
 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 = "未知错误,操作失败";
     }
 }
Beispiel #4
0
        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;
            }
        }
Beispiel #5
0
 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;
     }
 }
Beispiel #6
0
        /// <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();//执行初始化操作
            }
        }