/// <summary> /// /// </summary> /// <param name="cardNo"></param> /// <returns></returns> public string ComeBack(string cardNo) { try { JsonModel.JM_HandleResult result = new JsonModel.JM_HandleResult(); if (string.IsNullOrEmpty(cardNo)) { result.Result = false; result.Msg = "读者学号为空。"; return(SeatManageComm.JSONSerializer.Serialize(result)); } ReaderInfo reader = seatDataService.GetReader(cardNo, true); if (reader == null) { result.Result = false; result.Msg = "获取读者信息失败。"; return(SeatManageComm.JSONSerializer.Serialize(result)); } if (reader.EnterOutLog == null || reader.EnterOutLog.EnterOutState == EnterOutLogType.Leave) { result.Result = false; result.Msg = "您还没有选座。"; return(SeatManageComm.JSONSerializer.Serialize(result)); } if (reader.EnterOutLog.EnterOutState != EnterOutLogType.ShortLeave) { result.Result = false; result.Msg = "您当前不是暂离状态。"; return(SeatManageComm.JSONSerializer.Serialize(result)); } reader.EnterOutLog.EnterOutState = EnterOutLogType.ComeBack; reader.EnterOutLog.Remark = "读者通过移动客户端设置暂离回来。"; reader.EnterOutLog.Flag = Operation.Reader; reader.EnterOutLog.EnterOutTime = DateTime.Now; result.Result = true; int newId = -1; if (seatDataService.AddEnterOutLogInfo(reader.EnterOutLog, ref newId) != HandleResult.Successed) { result.Result = false; result.Msg = "执行遇到异常!"; return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result)); } else { result.Result = true; result.Msg = "欢迎回来"; List <WaitSeatLogInfo> waitSeatLogs = seatDataService.GetWaitLogList("", reader.EnterOutLog.EnterOutLogID, null, null, null); if (waitSeatLogs.Count > 0) { WaitSeatLogInfo waitSeatLog = waitSeatLogs[0]; waitSeatLog.NowState = LogStatus.Fail; waitSeatLog.OperateType = Operation.OtherReader; waitSeatLog.WaitingState = EnterOutLogType.WaitingCancel; seatDataService.UpdateWaitLog(waitSeatLog); } } return(SeatManageComm.JSONSerializer.Serialize(result)); } catch (Exception ex) { SeatManage.SeatManageComm.WriteLog.Write("暂离回来遇到异常:" + ex.Message); JM_HandleResult result = new JM_HandleResult(); result.Result = false; result.Msg = "执行遇到异常!"; return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result)); } }
public string FreeSeat(string cardNo) { try { ReaderInfo reader = null; JsonModel.JM_HandleResult result = new JsonModel.JM_HandleResult(); try { reader = seatDataService.GetReader(cardNo, true); } catch (Exception ex) { result.Result = false; result.Msg = "获取读者状态遇到异常"; } if (reader != null) { if (reader.EnterOutLog == null) { result.Result = false; result.Msg = "释放座位失败,您还没有选座。"; return(SeatManageComm.JSONSerializer.Serialize(result)); } switch (reader.EnterOutLog.EnterOutState) { case EnterOutLogType.BookingConfirmation: //预约入座 case EnterOutLogType.SelectSeat: //选座 case EnterOutLogType.ContinuedTime: //续时 case EnterOutLogType.ComeBack: //暂离回来 case EnterOutLogType.ReselectSeat: //重新选座 case EnterOutLogType.WaitingSuccess: //读者通过等待座位入座 case EnterOutLogType.ShortLeave: //读者暂离 reader.EnterOutLog.EnterOutState = EnterOutLogType.Leave; reader.EnterOutLog.Remark = "读者通过手机客户端释放座位。"; reader.EnterOutLog.Flag = Operation.Reader; reader.EnterOutLog.EnterOutTime = DateTime.Now; int newId = -1; HandleResult returnResult = seatDataService.AddEnterOutLogInfo(reader.EnterOutLog, ref newId); if (returnResult == HandleResult.Successed) { result.Result = true; result.Msg = "座位释放成功。"; } else { result.Result = false; result.Msg = "未知原因释放座位失败"; } break; case EnterOutLogType.Leave: default: result.Result = false; result.Msg = "您当前没有座位。"; break; } } else { result.Result = false; result.Msg = "执行遇到错误。"; } return(SeatManageComm.JSONSerializer.Serialize(result)); } catch (Exception ex) { SeatManage.SeatManageComm.WriteLog.Write("释放座位遇到异常:" + ex.Message); JM_HandleResult result = new JM_HandleResult(); result.Result = false; result.Msg = "执行遇到异常!"; return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result)); } }
public string ShortLeave(string cardNo) { try { JsonModel.JM_HandleResult result = new JsonModel.JM_HandleResult(); if (string.IsNullOrEmpty(cardNo)) { result.Result = false; result.Msg = "读者学号为空。"; return(SeatManageComm.JSONSerializer.Serialize(result)); } ReaderInfo reader = seatDataService.GetReader(cardNo, true); if (reader == null) { result.Result = false; result.Msg = "获取读者信息失败。"; return(SeatManageComm.JSONSerializer.Serialize(result)); } if (reader.EnterOutLog == null) { result.Result = false; result.Msg = "您还没有选座。"; } switch (reader.EnterOutLog.EnterOutState) { case EnterOutLogType.BookingConfirmation: //预约入座 case EnterOutLogType.SelectSeat: //选座 case EnterOutLogType.ContinuedTime: //续时 case EnterOutLogType.ComeBack: //暂离回来 case EnterOutLogType.ReselectSeat: //重新选座 case EnterOutLogType.WaitingSuccess: //等待入座 reader.EnterOutLog.EnterOutState = EnterOutLogType.ShortLeave; reader.EnterOutLog.Remark = "读者通过手机客户端设置暂时离开。"; reader.EnterOutLog.Flag = Operation.Reader; reader.EnterOutLog.EnterOutTime = DateTime.Now; result.Result = true; result.Msg = setShortLeave(reader); break; case EnterOutLogType.ShortLeave: result.Result = false; result.Msg = "暂离失败,您已经是暂离状态。"; break; case EnterOutLogType.Leave: result.Result = false; result.Msg = "暂离失败,您还没有入座。"; break; default: result.Result = false; result.Msg = "暂离失败,您当前不是在座状态"; break; } return(SeatManageComm.JSONSerializer.Serialize(result)); } catch (Exception ex) { SeatManage.SeatManageComm.WriteLog.Write("读者暂离遇到异常:" + ex.Message); JsonModel.JM_HandleResult result = new JsonModel.JM_HandleResult(); result.Result = false; result.Msg = "执行遇到异常"; return(SeatManageComm.JSONSerializer.Serialize(result)); } }