Exemplo n.º 1
0
 /// <summary>
 /// 绑定提供预约阅览室下拉列表
 /// </summary>
 private void BindSelReadingRoom()
 {
     try
     {
         List <ReadingRoomInfo> roomList = handler.GetCanBespeakNowDayRoomInfo();
         if (ReadingRoomList != null)
         {
             ReadingRoomList.Clear();
         }
         else
         {
             ReadingRoomList = new Dictionary <string, ReadingRoomInfo>();
         }
         foreach (ReadingRoomInfo room in roomList)
         {
             ReadingRoomList.Add(room.No, room);
             ListItem item = new ListItem {
                 Text = room.Name, Value = room.No
             };
             selReadingRoom.Items.Add(item);
         }
         if (selReadingRoom.Items.Count <= 0)
         {
             spanWarmInfo.Visible        = true;
             spanWarmInfo.InnerText      = "您选择的日期没有提供预约的阅览室,请重新选择日期!";
             DataListBookSeat.DataSource = null;
             DataListBookSeat.DataBind();
         }
     }
     catch (Exception ex)
     {
         spanWarmInfo.Visible   = true;
         spanWarmInfo.InnerText = ex.Message;
     }
 }
Exemplo n.º 2
0
        private void ShowReaderState()
        {
            scmodel = handler.GetSeatBookUsingStatus(seatNo, readingRoomNo);
            bool isCanUseSeat = false;

            if (scmodel != null && scmodel.SeatInfo != null)
            {
                seatlblReadingRoomName.InnerText = scmodel.SeatInfo.ReadingRoom.Name;
                seatlblSeatNo.InnerText          = scmodel.SeatInfo.ShortSeatNo;

                switch (scmodel.SeatInfo.SeatUsedState)
                {
                case EnterOutLogType.ComeBack:
                case EnterOutLogType.ContinuedTime:
                case EnterOutLogType.ReselectSeat:
                case EnterOutLogType.ShortLeave:
                case EnterOutLogType.WaitingSuccess:
                case EnterOutLogType.SelectSeat:
                case EnterOutLogType.BookingConfirmation:
                case EnterOutLogType.BespeakWaiting:
                    seatlblSeatStatus.InnerText = "正在使用中";
                    break;

                default:
                    seatlblSeatStatus.InnerText = "空闲";
                    isCanUseSeat = true;
                    break;
                }
                if (scmodel.SeatInfo.IsSuspended)
                {
                    seatlblSeatStatus.InnerText = "已被停用";
                    spanWarmInfo.Visible        = true;
                    spanWarmInfo.InnerText      = "此座位已被停用";
                }
                else if (!scmodel.InReadingRoom.Setting.SeatBespeak.Used)
                {
                    spanWarmInfo.Visible   = true;
                    spanWarmInfo.InnerText = "此座位不提供预约";
                }
                else if (scmodel.BookSeatInfo.Count < 1)
                {
                    spanWarmInfo.Visible   = true;
                    spanWarmInfo.InnerText = "此座位没有可预约的时间段";
                }
                else
                {
                    List <ReadingRoomInfo> roomList = handler.GetAllReadingRoomInfo();
                    if (ReadingRoomList == null)
                    {
                        ReadingRoomList = new Dictionary <string, ReadingRoomInfo>();
                    }
                    else
                    {
                        ReadingRoomList.Clear();
                    }
                    foreach (ReadingRoomInfo item in roomList)
                    {
                        ReadingRoomList.Add(item.No, item);
                    }

                    StringBuilder sbListInfo = new StringBuilder();
                    sbListInfo.Append("<li data-theme='d' data-role='list-divider' role='heading'>座位预约 </li>");
                    foreach (KeyValuePair <DateTime, Seat> item in scmodel.BookSeatInfo)
                    {
                        if (item.Key.Date.CompareTo(DateTime.Now.Date) == 0)
                        {
                            sbListInfo.Append(string.Format("<li date-theme='d' style=\"padding-top: 0px;padding-bottom: 0px;\">{0}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input data-inline='true' data-mini='true' value='预约' type='button'onclick=\"location.href='../BookSeat/BookNowSeatMessage.aspx?seatNo={1}&seatShortNo={2}&roomNo={3}&date={4}&timeSpan={5}'\")' /></li>", item.Key.ToLongDateString(), item.Value.SeatNo, item.Value.ShortSeatNo, readingRoomNo, item.Key.ToLongDateString(), item.Value.CanBespeakStr));
                        }
                        else
                        {
                            sbListInfo.Append(string.Format("<li date-theme='d' style=\"padding-top: 0px;padding-bottom: 0px;\">{0}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input data-inline='true' data-mini='true' value='预约' type='button'onclick=\"location.href='../BookSeat/BookSeatMessage.aspx?seatNo={1}&seatShortNo={2}&roomNo={3}&date={4}&timeSpan={5}'\")' /></li>", item.Key.ToLongDateString(), item.Value.SeatNo, item.Value.ShortSeatNo, readingRoomNo, item.Key.ToLongDateString(), item.Value.CanBespeakStr));
                        }
                        //sbListInfo.Append(string.Format("<li><input data-inline='true' data-mini='false' value='预约' type='button'onclick=\"location.href='../MainFunctionPage.aspx'\")' /></li>", bookLogList[i].BsepeaklogID));
                    }
                    sbListInfo.Append("</li>");

                    listMessage = sbListInfo.ToString();
                }
            }

            LoginUserInfo = handler.GetReaderInfo(LoginUserInfo.CardNo);
            ReaderInfo reader = LoginUserInfo;

            if (reader.EnterOutLog == null)
            {
                state = "Leave";
            }
            else
            {
                state = reader.EnterOutLog.EnterOutState.ToString();
            }

            if (reader.BespeakLog.Count > 0 && state == "Leave")
            {
                state = "Booking";
            }
            if (reader.WaitSeatLog != null)
            {
                state = "Waiting";
            }
            btnLeave.Visible          = false;
            btnShortLeave.Visible     = false;
            btn_ComeBack.Visible      = false;
            btn_ContinuedWhen.Visible = false;
            btn_CancelBook.Visible    = false;
            btn_CancelWait.Visible    = false;
            btn_BookConfirm.Visible   = false;
            btn_SelectSeat.Visible    = false;
            btn_ChangeSeat.Visible    = false;
            btn_WaitSeat.Visible      = false;

            lblReadingRoomName.InnerText = "无";
            lblSeatNo.InnerText          = "无";
            lblSeatStatus.InnerText      = "无";
            lblenterOutTime.InnerText    = "无";
            lblRemark.InnerText          = "无";
            switch (state)
            {
            case "SelectSeat":
            case "ComeBack":
            case "ContinuedTime":
            case "WaitingSuccess":
            case "BookingConfirmation":
            case "ReselectSeat":
                lblSeatStatus.InnerText      = "在座";
                lblReadingRoomName.InnerText = reader.EnterOutLog.ReadingRoomName;
                lblSeatNo.InnerText          = reader.EnterOutLog.ShortSeatNo;
                lblenterOutTime.InnerText    = reader.EnterOutLog.EnterOutTime.ToLongTimeString();
                lblRemark.InnerText          = reader.EnterOutLog.Remark;
                if (reader.EnterOutLog.SeatNo == seatNo && readingRoomNo == reader.EnterOutLog.ReadingRoomNo)
                {
                    if (reader.PecketWebSetting.UseShortLeave)
                    {
                        btnShortLeave.Visible = true;
                    }
                    if (reader.PecketWebSetting.UseCanLeave)
                    {
                        btnLeave.Visible = true;
                    }
                    if (reader.PecketWebSetting.UseContinue && reader.AtReadingRoom.Setting.SeatUsedTimeLimit.Used && reader.AtReadingRoom.Setting.SeatUsedTimeLimit.IsCanContinuedTime)
                    {
                        btn_ContinuedWhen.Visible = true;
                    }
                }
                else if (isCanUseSeat)
                {
                    if (reader.PecketWebSetting.UseChangeSeat)
                    {
                        btn_ChangeSeat.Visible = true;
                    }
                }
                break;

            case "Leave":
                if (isCanUseSeat)
                {
                    if (reader.PecketWebSetting.UseSelectSeat)
                    {
                        btn_SelectSeat.Visible = true;
                    }
                }
                else if (scmodel.SeatInfo.SeatUsedState != EnterOutLogType.ShortLeave)
                {
                    if (reader.PecketWebSetting.UseWaitSeat)
                    {
                        btn_WaitSeat.Visible = true;
                    }
                }
                break;

            case "Booking":
                lblSeatStatus.InnerText      = "预约等待签到中";
                lblReadingRoomName.InnerText = reader.BespeakLog[0].ReadingRoomName;
                lblSeatNo.InnerText          = reader.BespeakLog[0].ShortSeatNum;
                lblenterOutTime.InnerText    = reader.BespeakLog[0].BsepeakTime.ToLongTimeString();
                lblRemark.InnerText          = reader.BespeakLog[0].Remark;
                if (reader.BespeakLog[0].SeatNo == seatNo && readingRoomNo == reader.BespeakLog[0].ReadingRoomNo)
                {
                    if (reader.PecketWebSetting.UseCancelBook)
                    {
                        btn_CancelBook.Visible = true;
                    }
                    if (reader.PecketWebSetting.UseBookComfirm)
                    {
                        if (reader.BespeakLog[0].SubmitTime == reader.BespeakLog[0].BsepeakTime)
                        {
                            btn_BookConfirm.Visible = true;
                        }
                        else
                        {
                            if (reader.BespeakLog[0].BsepeakTime.AddMinutes(-double.Parse(reader.AtReadingRoom.Setting.SeatBespeak.ConfirmTime.BeginTime)) <= DateTime.Now)
                            {
                                btn_BookConfirm.Visible = true;
                            }
                        }
                    }
                }
                break;

            case "Waiting":
                lblSeatStatus.InnerText      = "等待座位";
                lblReadingRoomName.InnerText = reader.WaitSeatLog.EnterOutLog.ReadingRoomName;
                lblSeatNo.InnerText          = reader.WaitSeatLog.EnterOutLog.ShortSeatNo;
                lblenterOutTime.InnerText    = reader.WaitSeatLog.SeatWaitTime.ToLongTimeString();
                lblRemark.InnerText          = "您把读者" + reader.WaitSeatLog.EnterOutLog.CardNo + "设置为暂离,并等待此座位。";
                if (reader.WaitSeatLog.EnterOutLog.SeatNo == seatNo && readingRoomNo == reader.WaitSeatLog.EnterOutLog.ReadingRoomNo)
                {
                    if (reader.PecketWebSetting.UseCancelWait)
                    {
                        btn_CancelWait.Visible = true;
                    }
                }
                break;

            case "ShortLeave":
                lblSeatStatus.InnerText      = "暂离";
                lblReadingRoomName.InnerText = reader.EnterOutLog.ReadingRoomName;
                lblSeatNo.InnerText          = reader.EnterOutLog.ShortSeatNo;
                lblenterOutTime.InnerText    = reader.EnterOutLog.EnterOutTime.ToLongTimeString();
                lblRemark.InnerText          = reader.EnterOutLog.Remark;
                if (reader.EnterOutLog.SeatNo == seatNo && readingRoomNo == reader.EnterOutLog.ReadingRoomNo)
                {
                    if (reader.PecketWebSetting.UseComeBack)
                    {
                        btn_ComeBack.Visible = true;
                    }
                    if (reader.PecketWebSetting.UseCanLeave)
                    {
                        btnLeave.Visible = true;
                    }
                }
                else if (isCanUseSeat)
                {
                    if (reader.PecketWebSetting.UseChangeSeat)
                    {
                        btn_ChangeSeat.Visible = true;
                    }
                }
                break;

            default: lblSeatStatus.InnerText = "没有座位";
                if (isCanUseSeat)
                {
                    if (reader.PecketWebSetting.UseSelectSeat)
                    {
                        btn_ChangeSeat.Visible = true;
                    }
                }
                else if (scmodel.SeatInfo.SeatUsedState != EnterOutLogType.ShortLeave)
                {
                    if (reader.PecketWebSetting.UseWaitSeat)
                    {
                        btn_WaitSeat.Visible = true;
                    }
                }
                break;
            }
        }