示例#1
0
        /// <summary>
        /// 获取当天可预约的阅览室
        /// </summary>
        /// <returns></returns>
        public List <ReadingRoomInfo> GetCanBespeakNowDayRoomInfo()
        {
            List <ClassModel.ReadingRoomInfo> canBespeakReadingRoom = new List <ReadingRoomInfo>();
            List <ClassModel.ReadingRoomInfo> allReadingRooms       = seatManage.GetReadingRooms(null, null, null);
            List <string> roomNums = new List <string>();

            foreach (ClassModel.ReadingRoomInfo room in allReadingRooms)
            {
                try
                {
                    SeatManage.ClassModel.ReadingRoomSetting set = room.Setting;
                    if (!set.SeatBespeak.Used || !set.SeatBespeak.NowDayBespeak)
                    {
                        continue;
                    }
                    room.SeatList.Seats.Clear();
                    room.SeatList.Notes.Clear();//只获取阅览室信息,清空座位信息。
                    canBespeakReadingRoom.Add(room);
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
            return(canBespeakReadingRoom);
        }
示例#2
0
        /// <summary>
        /// 获取指定日期开放预约的阅览室。
        /// 1.判断阅览室是否开放预约。
        /// 2.判断当天是否可以预约。
        /// </summary>
        /// <param name="bespeatDate"></param>
        /// <returns></returns>
        public List <ClassModel.ReadingRoomInfo> GetCanBespeakReaderRoomInfo(DateTime bespeatDate)
        {
            List <ClassModel.ReadingRoomInfo> canBespeakReadingRoom = new List <ReadingRoomInfo>();
            List <ClassModel.ReadingRoomInfo> allReadingRooms       = seatManage.GetReadingRoomInfo(null);
            List <string> roomNums = new List <string>();

            foreach (ClassModel.ReadingRoomInfo room in allReadingRooms)
            {
                try
                {
                    SeatManage.ClassModel.ReadingRoomSetting set = room.Setting;
                    if (!set.SeatBespeak.Used)
                    {
                        continue;
                    }
                    if (!dateBespeak(set.SeatBespeak, bespeatDate, DateTime.Now))
                    {
                        continue;
                    }
                    //room.SeatList.Seats.Clear();
                    room.SeatList.Notes.Clear();//只获取阅览室信息,清空座位信息。
                    canBespeakReadingRoom.Add(room);
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
            return(canBespeakReadingRoom);
        }
        /// <summary>
        /// 判断座位是否符合预约条件
        /// </summary>
        /// <returns></returns>
        protected bool IsCanBespeak()
        {
            bool result = true;

            SeatManage.ClassModel.ReadingRoomSetting set = SeatManage.Bll.T_SM_ReadingRoom.GetSingleRoomInfo(roomNo).Setting;
            if (!set.SeatBespeak.Used || !set.SeatBespeak.NowDayBespeak)
            {
                FineUI.Alert.ShowInTop("阅览室没有开放预约");
                result = false;
            }
            return(result);
        }
示例#4
0
        string bespeakSureTimeSpan(SeatManage.ClassModel.ReadingRoomSetting set)
        {
            SeatManage.Bll.T_SM_ReadingRoom bllReadingRoom = new SeatManage.Bll.T_SM_ReadingRoom();
            DateTime bespeakTime = Convert.ToDateTime(bllReadingRoom.GetRoomOpenTimeByDate(set, date).BeginTime);

            if (rblModel.SelectedValue == "1")
            {
                if (set.SeatBespeak.SpecifiedTime)
                {
                    bespeakTime = set.SeatBespeak.SpecifiedTimeList[0];
                }
            }
            DateTime bespeakBeginTime = bespeakTime.AddMinutes(-double.Parse(set.SeatBespeak.ConfirmTime.BeginTime));
            DateTime bespeakEndTime   = bespeakTime.AddMinutes(double.Parse(set.SeatBespeak.ConfirmTime.EndTime));

            return(string.Format("{0}至{1}", bespeakBeginTime.ToShortTimeString(), bespeakEndTime.ToShortTimeString()));
        }
示例#5
0
        public override void DataBind()
        {
            SeatManage.ClassModel.ReaderInfo reader = handler.GetReaderInfo(this.UserSchoolInfo, this.LoginUserInfo.CardNo);
            if (reader.AtReadingRoom == null)
            {
                return;
            }

            SeatManage.ClassModel.ReadingRoomSetting roomSet = reader.AtReadingRoom.Setting;
            if (roomSet.SeatUsedTimeLimit.Used && roomSet.SeatUsedTimeLimit.IsCanContinuedTime)
            {
                this.btn_ContinuedWhen.Visible = true;
            }
            else
            {
                this.btn_ContinuedWhen.Visible = false;
            }
        }
示例#6
0
        /// <summary>
        /// 判断座位是否符合预约条件
        /// </summary>
        /// <returns></returns>
        protected bool IsCanBespeak()
        {
            bool     result  = true;
            DateTime nowDate = SeatManage.Bll.ServiceDateTime.Now;

            SeatManage.ClassModel.ReadingRoomSetting set = SeatManage.Bll.T_SM_ReadingRoom.GetSingleRoomInfo(roomNo).Setting;
            if (!set.SeatBespeak.Used)
            {
                FineUI.Alert.ShowInTop("阅览室没有开放预约");
                result = false;
            }
            if (!dateBespeak(set.SeatBespeak, nowDate))
            {
                FineUI.Alert.ShowInTop("该日期不能预约");
                result = false;
            }
            if (!timeCanBespeak(set.SeatBespeak, nowDate))
            {
                FineUI.Alert.ShowInTop(string.Format("预约时间为:{0}到{1}", set.SeatBespeak.CanBespeatTimeSpace.BeginTime, set.SeatBespeak.CanBespeatTimeSpace.EndTime));
                result = false;
            }
            return(result);
        }
示例#7
0
        public List <ReadingRoomInfo> GetCanWaitSeatRoomInfo()
        {
            List <ClassModel.ReadingRoomInfo> canBespeakReadingRoom = new List <ReadingRoomInfo>();
            List <ClassModel.ReadingRoomInfo> allReadingRooms       = seatManage.GetReadingRooms(null, null, null);
            List <string> roomNums = new List <string>();

            foreach (ClassModel.ReadingRoomInfo room in allReadingRooms)
            {
                try
                {
                    SeatManage.ClassModel.ReadingRoomSetting set = room.Setting;
                    if (!set.NoManagement.Used)
                    {
                        continue;
                    }
                    canBespeakReadingRoom.Add(room);
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
            return(canBespeakReadingRoom);
        }
示例#8
0
        /// <summary>
        /// 数据绑定
        /// </summary>
        private void DataBind()
        {
            SeatManage.ClassModel.ReadingRoomInfo room = SeatManage.Bll.T_SM_ReadingRoom.GetSingleRoomInfo(Request.QueryString["id"]);
            if (room == null)
            {
                room = new SeatManage.ClassModel.ReadingRoomInfo();
            }
            SeatManage.ClassModel.ReadingRoomSetting roomSet = room.Setting;
            if (roomSet == null)
            {
                roomSet = new SeatManage.ClassModel.ReadingRoomSetting();
            }
            //选座模式设置
            SeatSelectDefaultMode.SelectedValue = ((int)roomSet.SeatChooseMethod.DefaultChooseMethod).ToString();
            SeatSelectAdMode.Checked            = roomSet.SeatChooseMethod.UsedAdvancedSet;
            //SelectSeatPosTimes.Text = roomSet.PosTimes.Times.ToString();
            SelectSeatPosCount.Text = roomSet.PosTimes.Times.ToString();
            SelectSeatPosTimes.Text = roomSet.PosTimes.Minutes.ToString();
            SeatSelectPos.Checked   = roomSet.PosTimes.IsUsed;
            if (SeatSelectAdMode.Checked)
            {
                SeatSelectAdModeTable.Style["display"] = "block";
            }
            else
            {
                SeatSelectAdModeTable.Style["display"] = "none";
            }
            //高级设置
            foreach (KeyValuePair <DayOfWeek, SeatChooseMethodPlan> day in roomSet.SeatChooseMethod.AdvancedSelectSeatMode)
            {
                string   dayNum   = ((int)day.Value.Day).ToString();
                CheckBox DayCheck = FindControl("PanelSetting").FindControl("FormReadingRoomSet").FindControl("SeatSelectAdModeDay" + dayNum) as CheckBox;
                DayCheck.Checked = day.Value.Used;
                for (int i = 0; i < day.Value.PlanOption.Count; i++)
                {
                    string[]        begintime  = day.Value.PlanOption[i].UsedTime.BeginTime.Split(':');
                    string[]        endtime    = day.Value.PlanOption[i].UsedTime.EndTime.Split(':');
                    TextBox         begintimeH = FindControl("PanelSetting").FindControl("FormReadingRoomSet").FindControl("SeatSelectAdModeDay" + dayNum + "_Time" + (i + 1) + "_StartH") as TextBox;
                    TextBox         begintimeM = FindControl("PanelSetting").FindControl("FormReadingRoomSet").FindControl("SeatSelectAdModeDay" + dayNum + "_Time" + (i + 1) + "_StartM") as TextBox;
                    TextBox         endtimeH   = FindControl("PanelSetting").FindControl("FormReadingRoomSet").FindControl("SeatSelectAdModeDay" + dayNum + "_Time" + (i + 1) + "_EndH") as TextBox;
                    TextBox         endtimeM   = FindControl("PanelSetting").FindControl("FormReadingRoomSet").FindControl("SeatSelectAdModeDay" + dayNum + "_Time" + (i + 1) + "_EndM") as TextBox;
                    RadioButtonList selectmode = FindControl("PanelSetting").FindControl("FormReadingRoomSet").FindControl("SeatSelectAdModeDay" + dayNum + "_Time" + (i + 1) + "_SelectMode") as RadioButtonList;
                    begintimeH.Text          = begintime[0];
                    begintimeM.Text          = begintime[1];
                    endtimeH.Text            = endtime[0];
                    endtimeM.Text            = endtime[1];
                    selectmode.SelectedValue = ((int)day.Value.PlanOption[i].ChooseMethod).ToString();
                }
            }
            //暂离设置
            ShortLeaveDufaultTime.Text = roomSet.SeatHoldTime.DefaultHoldTimeLength.ToString();
            ShortLeaveAdMode.Checked   = roomSet.SeatHoldTime.UsedAdvancedSet;
            if (ShortLeaveAdMode.Checked)
            {
                ShortLeaveAdModeTable.Style["display"] = "block";
            }
            else
            {
                ShortLeaveAdModeTable.Style["display"] = "none";
            }
            //高级设置
            for (int i = 0; i < roomSet.SeatHoldTime.AdvancedSeatHoldTime.Count; i++)
            {
                string[] begintime  = roomSet.SeatHoldTime.AdvancedSeatHoldTime[i].UsedTime.BeginTime.Split(':');
                string[] endtime    = roomSet.SeatHoldTime.AdvancedSeatHoldTime[i].UsedTime.EndTime.Split(':');
                TextBox  begintimeH = FindControl("PanelSetting").FindControl("FormShortLeave").FindControl("ShortLeaveAdMode_Time" + (i + 1) + "_StartH") as TextBox;
                TextBox  begintimeM = FindControl("PanelSetting").FindControl("FormShortLeave").FindControl("ShortLeaveAdMode_Time" + (i + 1) + "_StartM") as TextBox;
                TextBox  endtimeH   = FindControl("PanelSetting").FindControl("FormShortLeave").FindControl("ShortLeaveAdMode_Time" + (i + 1) + "_EndH") as TextBox;
                TextBox  endtimeM   = FindControl("PanelSetting").FindControl("FormShortLeave").FindControl("ShortLeaveAdMode_Time" + (i + 1) + "_EndM") as TextBox;
                TextBox  leavetime  = FindControl("PanelSetting").FindControl("FormShortLeave").FindControl("ShortLeaveAdMode_Time" + (i + 1) + "_LeaveTime") as TextBox;
                CheckBox used       = FindControl("PanelSetting").FindControl("FormShortLeave").FindControl("ShortLeaveAdMode_Time" + (i + 1)) as CheckBox;
                begintimeH.Text = begintime[0];
                begintimeM.Text = begintime[1];
                endtimeH.Text   = endtime[0];
                endtimeM.Text   = endtime[1];
                leavetime.Text  = roomSet.SeatHoldTime.AdvancedSeatHoldTime[i].HoldTimeLength.ToString();
                used.Checked    = roomSet.SeatHoldTime.AdvancedSeatHoldTime[i].Used;
            }
            //开闭馆计划设置
            string[] opentime  = roomSet.RoomOpenSet.DefaultOpenTime.BeginTime.Split(':');
            string[] closetime = roomSet.RoomOpenSet.DefaultOpenTime.EndTime.Split(':');
            ReadingRoomDufaultOpenTimeH.Text  = opentime[0];
            ReadingRoomDufaultOpenTimeM.Text  = opentime[1];
            ReadingRoomBeforeOpenTime.Text    = roomSet.RoomOpenSet.OpenBeforeTimeLength.ToString();
            ReadingRoomDufaultCloseTimeH.Text = closetime[0];
            ReadingRoomDufaultCloseTimeM.Text = closetime[1];
            ReadingRoomBeforeCloseTime.Text   = roomSet.RoomOpenSet.CloseBeforeTimeLength.ToString();
            ReadingRoomOpen24H.Checked        = roomSet.RoomOpenSet.UninterruptibleModel;
            //高级设置
            ReadingRoomOpenCloseAdMode.Checked = roomSet.RoomOpenSet.UsedAdvancedSet;
            if (ReadingRoomOpenCloseAdMode.Checked)
            {
                ReadingRoomOpenCloseAdModeTable.Style["display"] = "block";
            }
            else
            {
                ReadingRoomOpenCloseAdModeTable.Style["display"] = "none";
            }
            foreach (KeyValuePair <DayOfWeek, RoomOpenPlanSet> day in roomSet.RoomOpenSet.RoomOpenPlan)
            {
                string   dayNum   = ((int)day.Value.Day).ToString();
                CheckBox DayCheck = FindControl("PanelSetting").FindControl("FormReadingRoomOC").FindControl("ReadingRoomAdOpenTime_Day" + dayNum) as CheckBox;
                DayCheck.Checked = day.Value.Used;
                for (int i = 0; i < day.Value.OpenTime.Count; i++)
                {
                    string[] begintime  = day.Value.OpenTime[i].BeginTime.Split(':');
                    string[] endtime    = day.Value.OpenTime[i].EndTime.Split(':');
                    TextBox  begintimeH = FindControl("PanelSetting").FindControl("FormReadingRoomOC").FindControl("ReadingRoomAdOpenTime_Day" + dayNum + "_Time" + (i + 1) + "_OpenH") as TextBox;
                    TextBox  begintimeM = FindControl("PanelSetting").FindControl("FormReadingRoomOC").FindControl("ReadingRoomAdOpenTime_Day" + dayNum + "_Time" + (i + 1) + "_OpenM") as TextBox;
                    TextBox  endtimeH   = FindControl("PanelSetting").FindControl("FormReadingRoomOC").FindControl("ReadingRoomAdOpenTime_Day" + dayNum + "_Time" + (i + 1) + "_CloseH") as TextBox;
                    TextBox  endtimeM   = FindControl("PanelSetting").FindControl("FormReadingRoomOC").FindControl("ReadingRoomAdOpenTime_Day" + dayNum + "_Time" + (i + 1) + "_CloseM") as TextBox;
                    begintimeH.Text = begintime[0];
                    begintimeM.Text = begintime[1];
                    endtimeH.Text   = endtime[0];
                    endtimeM.Text   = endtime[1];
                }
            }
            ShortLeaveByAdmin.Checked        = roomSet.AdminShortLeave.IsUsed;
            ShortLeaveByAdmin_LeaveTime.Text = roomSet.AdminShortLeave.HoldTimeLength.ToString();
            //在座时长设置
            SeatTime.Checked                           = roomSet.SeatUsedTimeLimit.Used;
            SeatTime_Mode.SelectedValue                = roomSet.SeatUsedTimeLimit.Mode;
            SeatTime_SeatTime.Text                     = roomSet.SeatUsedTimeLimit.UsedTimeLength.ToString();
            SeatTime_OverTime_Mode.SelectedValue       = ((int)roomSet.SeatUsedTimeLimit.OverTimeHandle).ToString();
            SeatTime_ContinueTime.Checked              = roomSet.SeatUsedTimeLimit.IsCanContinuedTime;
            SeatTime_ContinueTime_Time.Text            = roomSet.SeatUsedTimeLimit.DelayTimeLength.ToString();
            SeatTime_ContinueTime_ContinueCount.Text   = roomSet.SeatUsedTimeLimit.ContinuedTimes.ToString();
            SeatTime_ContinueTime_BeforeTime.Text      = roomSet.SeatUsedTimeLimit.CanDelayTime.ToString();
            SeatTime_ContinueTime_WithBookSpan.Checked = roomSet.SeatUsedTimeLimit.CanNotContinuedWithBookNetFixed;
            for (int i = 0; i < roomSet.SeatUsedTimeLimit.FixedTimes.Count; i++)
            {
                TextBox timeH = FindControl("PanelSetting").FindControl("SeatTimeSetting").FindControl("SeatTime_TimeH_" + i) as TextBox;
                timeH.Text = roomSet.SeatUsedTimeLimit.FixedTimes[i].ToShortTimeString().Split(':')[0];
                TextBox timeM = FindControl("PanelSetting").FindControl("SeatTimeSetting").FindControl("SeatTime_TimeM_" + i) as TextBox;
                timeM.Text = roomSet.SeatUsedTimeLimit.FixedTimes[i].ToShortTimeString().Split(':')[1];
            }

            //预约功能设置
            SeatBook.Checked            = roomSet.SeatBespeak.Used;
            cbMuiteSpan.Checked         = roomSet.SeatBespeak.CanBookMultiSpan;
            ckbDelayTime.Checked        = roomSet.SeatBespeak.AllowDelayTime;
            ckbLeave.Checked            = roomSet.SeatBespeak.AllowLeave;
            ckbShortLeave.Checked       = roomSet.SeatBespeak.AllowShortLeave;
            SeatBook_BeforeBookDay.Text = roomSet.SeatBespeak.BespeakBeforeDays.ToString();
            string[] beginbooktime = roomSet.SeatBespeak.CanBespeatTimeSpace.BeginTime.Split(':');
            string[] endbooktime   = roomSet.SeatBespeak.CanBespeatTimeSpace.EndTime.Split(':');
            SeatBook_BookTime_StartH.Text  = beginbooktime[0];
            SeatBook_BookTime_StartM.Text  = beginbooktime[1];
            SeatBook_BookTime_EndH.Text    = endbooktime[0];
            SeatBook_BookTime_EndM.Text    = endbooktime[1];
            SeatBook_SubmitBeforeTime.Text = roomSet.SeatBespeak.ConfirmTime.BeginTime;
            SeatBook_SubmitLateTime.Text   = roomSet.SeatBespeak.ConfirmTime.EndTime;

            if (roomSet.SeatBespeak.BespeakArea.BespeakType == BespeakAreaType.Percentage)
            {
                SeatBook_SeatBookRadioPercent.Checked = true;
            }
            else if (roomSet.SeatBespeak.BespeakArea.BespeakType == BespeakAreaType.AppointSeat)
            {
                SeatBook_SeatBookRadioSetted.Checked = true;
            }
            SeatBook_SeatBookRadioPercent_Percent.Text = ((roomSet.SeatBespeak.BespeakArea.Scale) * 100).ToString();
            foreach (SeatManage.ClassModel.TimeSpace cannotbookdate in roomSet.SeatBespeak.NoBespeakDates)
            {
                if (!string.IsNullOrEmpty(SeatBook_CanNotSeatBookDate.Text))
                {
                    SeatBook_CanNotSeatBookDate.Text += ";";
                }
                SeatBook_CanNotSeatBookDate.Text += cannotbookdate.BeginTime + "~" + cannotbookdate.EndTime;
            }
            cbNowDayBook.Checked               = roomSet.SeatBespeak.NowDayBespeak;
            NowDayBookTime.Text                = roomSet.SeatBespeak.SeatKeepTime.ToString();
            cbSpecifiedBook.Checked            = roomSet.SeatBespeak.SpecifiedBespeak;
            SeatBook_SelectBespeakSeat.Checked = roomSet.SeatBespeak.SelectBespeakSeat;
            SeatBook_SpecifiedTime.Checked     = roomSet.SeatBespeak.SpecifiedTime;
            SeatBook_BespeakSeatOnSeat.Checked = roomSet.SeatBespeak.BespeatWithOnSeat;
            SeatBook_BespeakSeatCount.Text     = roomSet.SeatBespeak.BespeakSeatCount.ToString();
            foreach (DateTime dt in roomSet.SeatBespeak.SpecifiedTimeList)
            {
                if (SeatBook_SpecifiedTimeList.Text != "")
                {
                    SeatBook_SpecifiedTimeList.Text += ";";
                }
                SeatBook_SpecifiedTimeList.Text += dt.ToShortTimeString();
            }

            //黑名单设置
            UseBlacklist.Checked        = roomSet.UsedBlacklistLimit;
            IsRecordViolate.Checked     = roomSet.IsRecordViolate;
            UseBlacklistSetting.Checked = roomSet.BlackListSetting.Used;
            if (UseBlacklistSetting.Checked)
            {
                UseBlacklistSettingTable.Style["display"] = "block";
            }
            else
            {
                UseBlacklistSettingTable.Style["display"] = "none";
            }
            RecordViolateCount.Text     = roomSet.BlackListSetting.ViolateTimes.ToString();
            LeaveBlackDays.Text         = roomSet.BlackListSetting.LimitDays.ToString();
            LeaveRecordViolateDays.Text = roomSet.BlackListSetting.ViolateFailDays.ToString();
            if (roomSet.BlackListSetting.LeaveBlacklist == LeaveBlacklistMode.AutomaticMode)
            {
                AutoLeave.Checked = true;
            }
            else
            {
                HardLeave.Checked = true;
            }
            RecordViolate_BookOverTime.Checked       = roomSet.BlackListSetting.ViolateRoule[ViolationRecordsType.BookingTimeOut];
            RecordViolate_LeaveByAdmin.Checked       = roomSet.BlackListSetting.ViolateRoule[ViolationRecordsType.LeaveByAdmin];
            RecordViolate_SeatOverTime.Checked       = roomSet.BlackListSetting.ViolateRoule[ViolationRecordsType.SeatOutTime];
            RecordViolate_ShortLeaveByAdmin.Checked  = roomSet.BlackListSetting.ViolateRoule[ViolationRecordsType.ShortLeaveByAdminOutTime];
            RecordViolate_ShortLeaveByReader.Checked = roomSet.BlackListSetting.ViolateRoule[ViolationRecordsType.ShortLeaveByReaderOutTime];
            RecordViolate_ShortLeaveOverTime.Checked = roomSet.BlackListSetting.ViolateRoule[ViolationRecordsType.ShortLeaveOutTime];
            //其他设置
            ShowSeatNumberCount.Text = roomSet.SeatNumAmount.ToString();
            NoManMode.Checked        = roomSet.NoManagement.Used;
            NoManMode_WaitTime.Text  = roomSet.NoManagement.OperatingInterval.ToString();

            ReaderLimit.Checked = roomSet.LimitReaderEnter.Used;
            if (roomSet.LimitReaderEnter.CanEnter)
            {
                ReaderLimit_LimitMode_Writelist.Checked = true;
            }
            else
            {
                ReaderLimit_LimitMode_Blacklist.Checked = true;
            }
            SeatManage.Bll.T_SM_Reader readerbll = new SeatManage.Bll.T_SM_Reader();
            List <string> readertype             = readerbll.GetReaderType();

            ReaderLimit_ReaderMode.Items.Clear();
            foreach (string reader in readertype)
            {
                if (string.IsNullOrEmpty(reader))
                {
                    ReaderLimit_ReaderMode.Items.Add("未指定");
                }
                else
                {
                    ReaderLimit_ReaderMode.Items.Add(reader);
                }
            }
            string[] readerType = roomSet.LimitReaderEnter.ReaderTypes.Split(';');
            foreach (ListItem ci in ReaderLimit_ReaderMode.Items)
            {
                foreach (string reader in readerType)
                {
                    if (string.IsNullOrEmpty(reader) && ci.Value == "未指定")
                    {
                        ci.Selected = true;
                        break;
                    }
                    else if (ci.Value == reader)
                    {
                        ci.Selected = true;
                        break;
                    }
                }
            }
            SameRoomSet.Items.Clear();
            List <SeatManage.ClassModel.ReadingRoomInfo> rooms = SeatManage.Bll.T_SM_ReadingRoom.GetReadingRooms(null, null, null);

            foreach (SeatManage.ClassModel.ReadingRoomInfo roominfo in rooms)
            {
                if (roominfo.No != room.No)
                {
                    ListItem li = new ListItem(roominfo.Name + "&nbsp;&nbsp;", roominfo.No);
                    SameRoomSet.Items.Add(li);
                }
            }
            for (int i = 0; i < SameRoomSet.Items.Count; i++)
            {
                SameRoomSet.Items[i].Attributes.Add("onmouseover", "showToolTip(event,'" + SameRoomSet.Items[i].Value + "')");
            }
        }
示例#9
0
        //void UseBlacklistSetting_CheckedChanged(object sender, EventArgs e)
        //{
        //    if (UseBlacklistSetting.Checked)
        //    {
        //        UseBlacklist.Enabled = false;
        //        UseBlacklist.Checked = true;
        //        IsRecordViolate.Enabled = false;
        //        IsRecordViolate.Checked = true;
        //    }
        //    else
        //    {
        //        IsRecordViolate.Enabled = true;
        //        UseBlacklist.Enabled = true;
        //    }
        //}
        /// <summary>&
        /// 提交
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Submit_OnClick(object sender, EventArgs e)
        {
            SeatManage.ClassModel.ReadingRoomInfo room = SeatManage.Bll.T_SM_ReadingRoom.GetSingleRoomInfo(Request.QueryString["id"]);
            if (room == null)
            {
                FineUI.Alert.Show("阅览室设置保存失败!");
                return;
            }
            SeatManage.ClassModel.ReadingRoomSetting roomSet = room.Setting;
            if (roomSet == null)
            {
                roomSet = new SeatManage.ClassModel.ReadingRoomSetting();
            }
            //选座设置
            roomSet.SeatChooseMethod.DefaultChooseMethod = (SeatManage.EnumType.SelectSeatMode) int.Parse(SeatSelectDefaultMode.SelectedValue);
            roomSet.SeatChooseMethod.UsedAdvancedSet     = SeatSelectAdMode.Checked;
            roomSet.PosTimes.Minutes = int.Parse(SelectSeatPosTimes.Text);
            roomSet.PosTimes.Times   = int.Parse(SelectSeatPosCount.Text);
            roomSet.PosTimes.IsUsed  = SeatSelectPos.Checked;
            //高级设置
            roomSet.SeatChooseMethod.AdvancedSelectSeatMode.Clear();
            for (int dayNum = 0; dayNum < 7; dayNum++)
            {
                SeatChooseMethodPlan scmp     = new SeatChooseMethodPlan();
                CheckBox             DayCheck = FindControl("PanelSetting").FindControl("FormReadingRoomSet").FindControl("SeatSelectAdModeDay" + dayNum) as CheckBox;
                scmp.Used = DayCheck.Checked;
                scmp.PlanOption.Clear();
                for (int i = 0; i < 3; i++)
                {
                    TextBox         begintimeH = FindControl("PanelSetting").FindControl("FormReadingRoomSet").FindControl("SeatSelectAdModeDay" + dayNum + "_Time" + (i + 1) + "_StartH") as TextBox;
                    TextBox         begintimeM = FindControl("PanelSetting").FindControl("FormReadingRoomSet").FindControl("SeatSelectAdModeDay" + dayNum + "_Time" + (i + 1) + "_StartM") as TextBox;
                    TextBox         endtimeH   = FindControl("PanelSetting").FindControl("FormReadingRoomSet").FindControl("SeatSelectAdModeDay" + dayNum + "_Time" + (i + 1) + "_EndH") as TextBox;
                    TextBox         endtimeM   = FindControl("PanelSetting").FindControl("FormReadingRoomSet").FindControl("SeatSelectAdModeDay" + dayNum + "_Time" + (i + 1) + "_EndM") as TextBox;
                    RadioButtonList selectmode = FindControl("PanelSetting").FindControl("FormReadingRoomSet").FindControl("SeatSelectAdModeDay" + dayNum + "_Time" + (i + 1) + "_SelectMode") as RadioButtonList;
                    if (!string.IsNullOrEmpty(begintimeH.Text) || !string.IsNullOrEmpty(begintimeM.Text) || !string.IsNullOrEmpty(endtimeH.Text) || !string.IsNullOrEmpty(endtimeM.Text))
                    {
                        DateTime begintime = new DateTime();
                        DateTime endtime   = new DateTime();
                        if (!DateTime.TryParse(begintimeH.Text + ":" + begintimeM.Text, out begintime))
                        {
                            FineUI.Alert.Show("选座设置高级设置,时间设置错误!");
                            return;
                        }
                        if (!DateTime.TryParse(endtimeH.Text + ":" + endtimeM.Text, out endtime))
                        {
                            FineUI.Alert.Show("选座设置高级设置,时间设置错误!");
                            return;
                        }
                        SeatChooseMethodOption scmo = new SeatChooseMethodOption();
                        scmo.ChooseMethod       = (SelectSeatMode)int.Parse(selectmode.SelectedValue);
                        scmo.UsedTime.BeginTime = begintime.ToShortTimeString();
                        scmo.UsedTime.EndTime   = endtime.ToShortTimeString();
                        scmp.PlanOption.Add(scmo);
                    }
                }
                roomSet.SeatChooseMethod.AdvancedSelectSeatMode.Add(((DayOfWeek)dayNum), scmp);
            }
            //暂离设置
            roomSet.SeatHoldTime.DefaultHoldTimeLength = int.Parse(ShortLeaveDufaultTime.Text);
            roomSet.SeatHoldTime.UsedAdvancedSet       = ShortLeaveAdMode.Checked;
            //高级设置
            roomSet.SeatHoldTime.AdvancedSeatHoldTime.Clear();
            for (int i = 0; i < 2; i++)
            {
                TextBox  begintimeH = FindControl("PanelSetting").FindControl("FormShortLeave").FindControl("ShortLeaveAdMode_Time" + (i + 1) + "_StartH") as TextBox;
                TextBox  begintimeM = FindControl("PanelSetting").FindControl("FormShortLeave").FindControl("ShortLeaveAdMode_Time" + (i + 1) + "_StartM") as TextBox;
                TextBox  endtimeH   = FindControl("PanelSetting").FindControl("FormShortLeave").FindControl("ShortLeaveAdMode_Time" + (i + 1) + "_EndH") as TextBox;
                TextBox  endtimeM   = FindControl("PanelSetting").FindControl("FormShortLeave").FindControl("ShortLeaveAdMode_Time" + (i + 1) + "_EndM") as TextBox;
                TextBox  leavetime  = FindControl("PanelSetting").FindControl("FormShortLeave").FindControl("ShortLeaveAdMode_Time" + (i + 1) + "_LeaveTime") as TextBox;
                CheckBox used       = FindControl("PanelSetting").FindControl("FormShortLeave").FindControl("ShortLeaveAdMode_Time" + (i + 1)) as CheckBox;
                DateTime begintime  = new DateTime();
                DateTime endtime    = new DateTime();
                if (!string.IsNullOrEmpty(begintimeH.Text) || !string.IsNullOrEmpty(begintimeM.Text) || !string.IsNullOrEmpty(endtimeH.Text) || !string.IsNullOrEmpty(endtimeM.Text) || !string.IsNullOrEmpty(leavetime.Text))
                {
                    if (!DateTime.TryParse(begintimeH.Text + ":" + begintimeM.Text, out begintime))
                    {
                        FineUI.Alert.Show("暂离设置高级设置,时间设置错误!");
                        return;
                    }
                    if (!DateTime.TryParse(endtimeH.Text + ":" + endtimeM.Text, out endtime))
                    {
                        FineUI.Alert.Show("暂离设置高级设置,时间设置错误!");
                        return;
                    }
                    SeatHoldTimeOption shto = new SeatHoldTimeOption();
                    shto.HoldTimeLength     = int.Parse(leavetime.Text);
                    shto.Used               = used.Checked;
                    shto.UsedTime.BeginTime = begintime.ToShortTimeString();
                    shto.UsedTime.EndTime   = endtime.ToShortTimeString();
                    roomSet.SeatHoldTime.AdvancedSeatHoldTime.Add(shto);
                }
            }
            roomSet.AdminShortLeave.IsUsed         = ShortLeaveByAdmin.Checked;
            roomSet.AdminShortLeave.HoldTimeLength = int.Parse(ShortLeaveByAdmin_LeaveTime.Text);
            //开闭馆计划设置
            DateTime opentime  = new DateTime();
            DateTime closetime = new DateTime();

            if (!DateTime.TryParse(ReadingRoomDufaultOpenTimeH.Text + ":" + ReadingRoomDufaultOpenTimeM.Text, out opentime))
            {
                FineUI.Alert.Show("开闭馆计划设置,时间设置错误!");
                return;
            }
            if (!DateTime.TryParse(ReadingRoomDufaultCloseTimeH.Text + ":" + ReadingRoomDufaultCloseTimeM.Text, out closetime))
            {
                FineUI.Alert.Show("开闭馆计划设置,时间设置错误!");
                return;
            }
            roomSet.RoomOpenSet.DefaultOpenTime.BeginTime = opentime.ToShortTimeString();
            roomSet.RoomOpenSet.DefaultOpenTime.EndTime   = closetime.ToShortTimeString();
            roomSet.RoomOpenSet.OpenBeforeTimeLength      = int.Parse(ReadingRoomBeforeOpenTime.Text);
            roomSet.RoomOpenSet.CloseBeforeTimeLength     = int.Parse(ReadingRoomBeforeCloseTime.Text);
            roomSet.RoomOpenSet.UninterruptibleModel      = ReadingRoomOpen24H.Checked;
            //高级设置
            roomSet.RoomOpenSet.UsedAdvancedSet = ReadingRoomOpenCloseAdMode.Checked;
            //foreach (KeyValuePair<DayOfWeek, RoomOpenPlanSet> day in roomSet.RoomOpenSet.RoomOpenPlan)
            //{
            roomSet.RoomOpenSet.RoomOpenPlan.Clear();
            for (int dayNum = 0; dayNum < 7; dayNum++)
            {
                RoomOpenPlanSet rops     = new RoomOpenPlanSet();
                CheckBox        DayCheck = FindControl("PanelSetting").FindControl("FormReadingRoomOC").FindControl("ReadingRoomAdOpenTime_Day" + dayNum) as CheckBox;
                rops.Used = DayCheck.Checked;
                rops.OpenTime.Clear();
                for (int i = 0; i < 3; i++)
                {
                    TextBox  begintimeH = FindControl("PanelSetting").FindControl("FormReadingRoomOC").FindControl("ReadingRoomAdOpenTime_Day" + dayNum + "_Time" + (i + 1) + "_OpenH") as TextBox;
                    TextBox  begintimeM = FindControl("PanelSetting").FindControl("FormReadingRoomOC").FindControl("ReadingRoomAdOpenTime_Day" + dayNum + "_Time" + (i + 1) + "_OpenM") as TextBox;
                    TextBox  endtimeH   = FindControl("PanelSetting").FindControl("FormReadingRoomOC").FindControl("ReadingRoomAdOpenTime_Day" + dayNum + "_Time" + (i + 1) + "_CloseH") as TextBox;
                    TextBox  endtimeM   = FindControl("PanelSetting").FindControl("FormReadingRoomOC").FindControl("ReadingRoomAdOpenTime_Day" + dayNum + "_Time" + (i + 1) + "_CloseM") as TextBox;
                    CheckBox used       = FindControl("PanelSetting").FindControl("FormReadingRoomOC").FindControl("ReadingRoomAdOpenTime_Day" + dayNum + "_Time" + (i + 1)) as CheckBox;
                    if (!string.IsNullOrEmpty(begintimeH.Text) || !string.IsNullOrEmpty(begintimeM.Text) || !string.IsNullOrEmpty(endtimeH.Text) || !string.IsNullOrEmpty(endtimeM.Text))
                    {
                        DateTime begintime = new DateTime();
                        DateTime endtime   = new DateTime();
                        if (!DateTime.TryParse(begintimeH.Text + ":" + begintimeM.Text, out begintime))
                        {
                            FineUI.Alert.Show("开闭馆计划高级设置,时间设置错误!");
                            return;
                        }
                        if (!DateTime.TryParse(endtimeH.Text + ":" + endtimeM.Text, out endtime))
                        {
                            FineUI.Alert.Show("开闭馆计划高级设置,时间设置错误!");
                            return;
                        }
                        TimeSpace ts = new TimeSpace();
                        ts.BeginTime = begintime.ToShortTimeString();
                        ts.EndTime   = endtime.ToShortTimeString();
                        rops.OpenTime.Add(ts);
                    }
                }
                roomSet.RoomOpenSet.RoomOpenPlan.Add(((DayOfWeek)dayNum), rops);
            }
            //在座时长设置
            roomSet.SeatUsedTimeLimit.Used               = SeatTime.Checked;
            roomSet.SeatUsedTimeLimit.Mode               = SeatTime_Mode.SelectedValue;
            roomSet.SeatUsedTimeLimit.UsedTimeLength     = int.Parse(SeatTime_SeatTime.Text);
            roomSet.SeatUsedTimeLimit.OverTimeHandle     = (EnterOutLogType)int.Parse(SeatTime_OverTime_Mode.SelectedValue);
            roomSet.SeatUsedTimeLimit.IsCanContinuedTime = SeatTime_ContinueTime.Checked;
            roomSet.SeatUsedTimeLimit.DelayTimeLength    = int.Parse(SeatTime_ContinueTime_Time.Text);
            roomSet.SeatUsedTimeLimit.ContinuedTimes     = int.Parse(SeatTime_ContinueTime_ContinueCount.Text);
            roomSet.SeatUsedTimeLimit.CanDelayTime       = int.Parse(SeatTime_ContinueTime_BeforeTime.Text);
            roomSet.SeatUsedTimeLimit.CanNotContinuedWithBookNetFixed = SeatTime_ContinueTime_WithBookSpan.Checked;
            roomSet.SeatUsedTimeLimit.FixedTimes.Clear();
            for (int i = 0; i < 4; i++)
            {
                TextBox timeH = FindControl("PanelSetting").FindControl("SeatTimeSetting").FindControl("SeatTime_TimeH_" + i) as TextBox;
                TextBox timeM = FindControl("PanelSetting").FindControl("SeatTimeSetting").FindControl("SeatTime_TimeM_" + i) as TextBox;
                if (timeH.Text != "" && timeM.Text != "")
                {
                    DateTime dt = new DateTime();
                    if (!DateTime.TryParse(timeH.Text + ":" + timeM.Text, out dt))
                    {
                        FineUI.Alert.Show("在座时长设置,时间设置错误!");
                        return;
                    }
                    roomSet.SeatUsedTimeLimit.FixedTimes.Add(dt);
                }
            }
            if (roomSet.SeatUsedTimeLimit.Mode != "Free" && roomSet.SeatUsedTimeLimit.Used && roomSet.SeatUsedTimeLimit.FixedTimes.Count == 0)
            {
                FineUI.Alert.Show("在座时长设置,请设置限制时间!");
                return;
            }



            //预约功能设置
            roomSet.SeatBespeak.Used              = SeatBook.Checked;
            roomSet.SeatBespeak.CanBookMultiSpan  = cbMuiteSpan.Checked;
            roomSet.SeatBespeak.AllowDelayTime    = ckbDelayTime.Checked;
            roomSet.SeatBespeak.AllowLeave        = ckbLeave.Checked;
            roomSet.SeatBespeak.AllowShortLeave   = ckbShortLeave.Checked;
            roomSet.SeatBespeak.NowDayBespeak     = cbNowDayBook.Checked;
            roomSet.SeatBespeak.SeatKeepTime      = int.Parse(NowDayBookTime.Text);
            roomSet.SeatBespeak.BespeakBeforeDays = int.Parse(SeatBook_BeforeBookDay.Text);
            DateTime beginbooktime = new DateTime();
            DateTime endbooktime   = new DateTime();

            if (!DateTime.TryParse(SeatBook_BookTime_StartH.Text + ":" + SeatBook_BookTime_StartM.Text, out beginbooktime))
            {
                FineUI.Alert.Show("预约设置,时间设置错误!");
                return;
            }
            if (!DateTime.TryParse(SeatBook_BookTime_EndH.Text + ":" + SeatBook_BookTime_EndM.Text, out endbooktime))
            {
                FineUI.Alert.Show("预约设置,时间设置错误!");
                return;
            }
            roomSet.SeatBespeak.CanBespeatTimeSpace.BeginTime = beginbooktime.ToShortTimeString();
            roomSet.SeatBespeak.CanBespeatTimeSpace.EndTime   = endbooktime.ToShortTimeString();
            roomSet.SeatBespeak.ConfirmTime.BeginTime         = SeatBook_SubmitBeforeTime.Text;
            roomSet.SeatBespeak.ConfirmTime.EndTime           = SeatBook_SubmitLateTime.Text;

            roomSet.SeatBespeak.SpecifiedBespeak  = cbSpecifiedBook.Checked;
            roomSet.SeatBespeak.SelectBespeakSeat = SeatBook_SelectBespeakSeat.Checked;
            roomSet.SeatBespeak.SpecifiedTime     = SeatBook_SpecifiedTime.Checked;
            roomSet.SeatBespeak.BespeatWithOnSeat = SeatBook_BespeakSeatOnSeat.Checked;
            roomSet.SeatBespeak.BespeakSeatCount  = int.Parse(SeatBook_BespeakSeatCount.Text);
            roomSet.SeatBespeak.SpecifiedTimeList.Clear();
            if (SeatBook_SpecifiedTimeList.Text != "")
            {
                string[] booktimes = SeatBook_SpecifiedTimeList.Text.Split(';');
                foreach (string dt in booktimes)
                {
                    DateTime t = new DateTime();
                    if (DateTime.TryParse(dt, out t))
                    {
                        if (roomSet.SeatBespeak.SpecifiedTimeList.Count > 0 && t <= roomSet.SeatBespeak.SpecifiedTimeList[roomSet.SeatBespeak.SpecifiedTimeList.Count - 1])
                        {
                            FineUI.Alert.Show("预约设置,指定时段设置错误!");
                            return;
                        }
                        roomSet.SeatBespeak.SpecifiedTimeList.Add(t);
                    }
                }
            }
            if (roomSet.SeatBespeak.SpecifiedTimeList.Count < 1 && roomSet.SeatBespeak.SpecifiedTime)
            {
                FineUI.Alert.Show("预约设置,请设置指定的预约时间!");
                return;
            }


            if (SeatBook_SeatBookRadioPercent.Checked)
            {
                roomSet.SeatBespeak.BespeakArea.BespeakType = BespeakAreaType.Percentage;
            }
            else if (SeatBook_SeatBookRadioSetted.Checked)
            {
                roomSet.SeatBespeak.BespeakArea.BespeakType = BespeakAreaType.AppointSeat;
            }
            roomSet.SeatBespeak.BespeakArea.Scale = double.Parse(SeatBook_SeatBookRadioPercent_Percent.Text) / 100;
            roomSet.SeatBespeak.NoBespeakDates.Clear();
            if (!string.IsNullOrEmpty(SeatBook_CanNotSeatBookDate.Text))
            {
                string[] cannotbookdate = SeatBook_CanNotSeatBookDate.Text.Split(';');
                foreach (string date in cannotbookdate)
                {
                    string[] datespan  = date.Split('~');
                    DateTime begindate = new DateTime();
                    DateTime enddate   = new DateTime();
                    if (datespan.Length > 1)
                    {
                        if (!DateTime.TryParse(datespan[0], out begindate))
                        {
                            FineUI.Alert.Show("预约设置,不可预约时间设置错误!");
                            return;
                        }
                        if (!DateTime.TryParse(datespan[1], out enddate))
                        {
                            FineUI.Alert.Show("预约设置,不可预约时间设置错误!");
                            return;
                        }
                        TimeSpace ts = new TimeSpace();
                        ts.BeginTime = begindate.Month.ToString() + "-" + begindate.Day.ToString();
                        ts.EndTime   = enddate.Month.ToString() + "-" + enddate.Day.ToString();
                        roomSet.SeatBespeak.NoBespeakDates.Add(ts);
                    }
                    else
                    {
                        FineUI.Alert.Show("预约设置,不可预约时间设置错误!");
                        return;
                    }
                }
            }
            //黑名单设置
            roomSet.UsedBlacklistLimit    = UseBlacklist.Checked;
            roomSet.IsRecordViolate       = IsRecordViolate.Checked;
            roomSet.BlackListSetting.Used = UseBlacklistSetting.Checked;
            if (roomSet.BlackListSetting.Used)
            {
                roomSet.UsedBlacklistLimit = true;
                roomSet.IsRecordViolate    = true;
            }
            roomSet.BlackListSetting.ViolateTimes    = int.Parse(RecordViolateCount.Text);
            roomSet.BlackListSetting.LimitDays       = int.Parse(LeaveBlackDays.Text);
            roomSet.BlackListSetting.ViolateFailDays = int.Parse(LeaveRecordViolateDays.Text);
            if (AutoLeave.Checked)
            {
                roomSet.BlackListSetting.LeaveBlacklist = LeaveBlacklistMode.AutomaticMode;
            }
            else
            {
                roomSet.BlackListSetting.LeaveBlacklist = LeaveBlacklistMode.ManuallyMode;
            }
            roomSet.BlackListSetting.ViolateRoule[ViolationRecordsType.BookingTimeOut]            = RecordViolate_BookOverTime.Checked;
            roomSet.BlackListSetting.ViolateRoule[ViolationRecordsType.LeaveByAdmin]              = RecordViolate_LeaveByAdmin.Checked;
            roomSet.BlackListSetting.ViolateRoule[ViolationRecordsType.SeatOutTime]               = RecordViolate_SeatOverTime.Checked;
            roomSet.BlackListSetting.ViolateRoule[ViolationRecordsType.ShortLeaveByAdminOutTime]  = RecordViolate_ShortLeaveByAdmin.Checked;
            roomSet.BlackListSetting.ViolateRoule[ViolationRecordsType.ShortLeaveByReaderOutTime] = RecordViolate_ShortLeaveByReader.Checked;
            roomSet.BlackListSetting.ViolateRoule[ViolationRecordsType.ShortLeaveOutTime]         = RecordViolate_ShortLeaveOverTime.Checked;
            //其他设置
            roomSet.SeatNumAmount     = int.Parse(ShowSeatNumberCount.Text);
            roomSet.NoManagement.Used = NoManMode.Checked;
            roomSet.NoManagement.OperatingInterval = double.Parse(NoManMode_WaitTime.Text);
            roomSet.LimitReaderEnter.Used          = ReaderLimit.Checked;
            if (ReaderLimit_LimitMode_Writelist.Checked)
            {
                roomSet.LimitReaderEnter.CanEnter = true;
            }
            else
            {
                roomSet.LimitReaderEnter.CanEnter = false;
            }
            roomSet.LimitReaderEnter.ReaderTypes = "";
            foreach (ListItem type in ReaderLimit_ReaderMode.Items)
            {
                if (type.Selected)
                {
                    if (!string.IsNullOrEmpty(roomSet.LimitReaderEnter.ReaderTypes))
                    {
                        roomSet.LimitReaderEnter.ReaderTypes += ";";
                    }
                    roomSet.LimitReaderEnter.ReaderTypes += type.Value;
                }
            }
            roomSet.LimitReaderEnter.ReaderTypes = roomSet.LimitReaderEnter.ReaderTypes.Replace("未指定", "");
            room.Setting = roomSet;
            if (SeatManage.Bll.T_SM_ReadingRoom.UpdateReadingRoom(room))
            {
                List <SeatManage.ClassModel.ReadingRoomInfo> rooms = SeatManage.Bll.T_SM_ReadingRoom.GetReadingRooms(null, null, null);
                foreach (ListItem li in SameRoomSet.Items)
                {
                    if (li.Selected)
                    {
                        foreach (SeatManage.ClassModel.ReadingRoomInfo roominfo in rooms)
                        {
                            if (roominfo.No == li.Value)
                            {
                                roominfo.Setting = roomSet;
                                if (!SeatManage.Bll.T_SM_ReadingRoom.UpdateReadingRoom(roominfo))
                                {
                                    FineUI.Alert.Show("保存失败!");
                                    return;
                                }
                            }
                        }
                    }
                }
                FineUI.PageContext.RegisterStartupScript(FineUI.ActiveWindow.GetHidePostBackReference());
                FineUI.Alert.ShowInTop("保存成功!");
            }
            else
            {
                FineUI.Alert.Show("保存失败!");
            }
        }
示例#10
0
        /// <summary>
        /// 根据编号获取阅览室的设置信息
        /// </summary>
        /// <param name="roomNum">阅览室编号</param>
        /// <returns></returns>
        public string GetReadingRoomSetInfoByRoomNum(string roomNum)
        {
            try
            {
                if (string.IsNullOrEmpty(roomNum))
                {
                    JM_HandleResult result = new JM_HandleResult();
                    result.Result = false;
                    result.Msg    = "阅览室编号不能为空!";
                    return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
                }
                JM_NowRoomSet jm_roomSet = new JM_NowRoomSet();

                SqlParameter[] parameters =
                {
                    new SqlParameter("@ReadingRoomNo", SqlDbType.NVarChar, 50)
                };
                List <SeatManage.ClassModel.ReadingRoomInfo> roomListModel = seatDataService.GetReadingRoomInfo(new List <string>()
                {
                    roomNum
                });
                if (roomListModel.Count > 0)
                {
                    SeatManage.ClassModel.ReadingRoomSetting roomSet = roomListModel[0].Setting;
                    jm_roomSet.IsCanBespeakNowSeat    = roomSet.SeatBespeak.NowDayBespeak && roomSet.SeatBespeak.Used ? true : false;
                    jm_roomSet.IsCanBespeakSeat       = roomSet.IsCanBespeakSeat(DateTime.Now);
                    jm_roomSet.IsCanContinueTime      = roomSet.SeatUsedTimeLimit.IsCanContinuedTime;
                    jm_roomSet.IsCanSelectBespeakSeat = roomSet.SeatBespeak.SelectBespeakSeat;
                    jm_roomSet.IsCanWaitSeat          = roomSet.NoManagement.Used;
                    jm_roomSet.IsLimitBlacklist       = roomSet.UsedBlacklistLimit;
                    jm_roomSet.IsLimitReaderType      = roomSet.LimitReaderEnter.Used;
                    jm_roomSet.IsEnterOnly            = roomSet.LimitReaderEnter.CanEnter;
                    jm_roomSet.LimitType          = roomSet.LimitReaderEnter.ReaderTypes;
                    jm_roomSet.NowRoomCloseTime   = roomSet.NowCloseTime(DateTime.Now).ToShortTimeString();
                    jm_roomSet.NowRoomOpenTime    = roomSet.NowCloseTime(DateTime.Now).ToShortTimeString();
                    jm_roomSet.NowState           = roomSet.ReadingRoomOpenState(DateTime.Now).ToString();
                    jm_roomSet.SelectSelectModel  = roomSet.RoomSelectSeatMode(DateTime.Now).ToString();
                    jm_roomSet.ShortLeaveHoldTime = int.Parse(roomSet.GetSeatHoldTime(DateTime.Now).ToString().Split('.')[0]);
                    #region 完整的阅览室配置
                    //jm_roomSet.BlackListSet.IsLimitBlacklist = roomSet.UsedBlacklistLimit;
                    //jm_roomSet.BlackListSet.IsViolation = roomSet.IsRecordViolate;
                    //jm_roomSet.BlackListSet.Setting.AutoLeaveDays = roomSet.BlackListSetting.LimitDays;
                    //jm_roomSet.BlackListSet.Setting.IsUsed = roomSet.BlackListSetting.Used;
                    //jm_roomSet.BlackListSet.Setting.IsUseViolationBookingTimeOut = roomSet.BlackListSetting.ViolateRoule[EnumType.ViolationRecordsType.BookingTimeOut];
                    //jm_roomSet.BlackListSet.Setting.IsUseViolationLeaveByAdmin = roomSet.BlackListSetting.ViolateRoule[EnumType.ViolationRecordsType.LeaveByAdmin];
                    //jm_roomSet.BlackListSet.Setting.IsUseViolationSeatOutTime = roomSet.BlackListSetting.ViolateRoule[EnumType.ViolationRecordsType.SeatOutTime];
                    //jm_roomSet.BlackListSet.Setting.IsUseViolationShortLeaveByAdminOutTime = roomSet.BlackListSetting.ViolateRoule[EnumType.ViolationRecordsType.ShortLeaveByAdminOutTime];
                    //jm_roomSet.BlackListSet.Setting.IsUseViolationShortLeaveByReaderOutTime = roomSet.BlackListSetting.ViolateRoule[EnumType.ViolationRecordsType.ShortLeaveByReaderOutTime];
                    //jm_roomSet.BlackListSet.Setting.IsUseViolationShortLeaveOutTime = roomSet.BlackListSetting.ViolateRoule[EnumType.ViolationRecordsType.ShortLeaveByServiceOutTime];
                    //jm_roomSet.BlackListSet.Setting.LeaveBlacklistModel = roomSet.BlackListSetting.LeaveBlacklist.ToString();
                    //jm_roomSet.BlackListSet.Setting.ViolateCountWithEnterBlacklist = roomSet.BlackListSetting.ViolateTimes;
                    //jm_roomSet.BlackListSet.Setting.ViolateFailDays = roomSet.BlackListSetting.ViolateFailDays;
                    //jm_roomSet.LimitReaderEnterSet.CanEnter = roomSet.LimitReaderEnter.CanEnter;
                    //jm_roomSet.LimitReaderEnterSet.ReaderTypes = roomSet.LimitReaderEnter.ReaderTypes;
                    //jm_roomSet.LimitReaderEnterSet.Used = roomSet.LimitReaderEnter.Used;
                    //jm_roomSet.PosRestrict.IsUsed = roomSet.PosTimes.IsUsed;
                    //jm_roomSet.PosRestrict.Minutes = roomSet.PosTimes.Minutes;
                    //jm_roomSet.PosRestrict.Times = roomSet.PosTimes.Times;
                    //jm_roomSet.RoomOCPlanSet.AdvancedOpenClosePlan = new List<JM_RoomOpenClosePlan>();
                    //foreach (KeyValuePair<DayOfWeek, SeatManage.ClassModel.RoomOpenPlanSet> day in roomSet.RoomOpenSet.RoomOpenPlan)
                    //{
                    //    JM_RoomOpenClosePlan plan = new JM_RoomOpenClosePlan();
                    //    plan.Day = day.Key.ToString();
                    //    plan.IsUsed = day.Value.Used;
                    //    plan.OpenCloseTimeSpan = new List<JM_TimeSpan>();
                    //    foreach (TimeSpace ts in day.Value.OpenTime)
                    //    {
                    //        JM_TimeSpan jm_ts = new JM_TimeSpan();
                    //        jm_ts.StartTime = ts.BeginTime;
                    //        jm_ts.EndTime = ts.EndTime;
                    //        plan.OpenCloseTimeSpan.Add(jm_ts);
                    //    }
                    //    jm_roomSet.RoomOCPlanSet.AdvancedOpenClosePlan.Add(plan);
                    //}
                    //jm_roomSet.RoomOCPlanSet.CloseBeforeTimeLength = int.Parse(roomSet.RoomOpenSet.CloseBeforeTimeLength.ToString().Split('.')[0]);
                    //jm_roomSet.RoomOCPlanSet.DefaultCloseTime = roomSet.RoomOpenSet.DefaultOpenTime.EndTime;
                    //jm_roomSet.RoomOCPlanSet.DefaultOpenTime = roomSet.RoomOpenSet.DefaultOpenTime.BeginTime;
                    //jm_roomSet.RoomOCPlanSet.IsUsed24HourModel = roomSet.RoomOpenSet.UninterruptibleModel;
                    //jm_roomSet.RoomOCPlanSet.IsUsedAdvancedModel = roomSet.RoomOpenSet.UsedAdvancedSet;
                    //jm_roomSet.RoomOCPlanSet.OpenBeforeTimeLength = int.Parse(roomSet.RoomOpenSet.OpenBeforeTimeLength.ToString().Split('.')[0]);
                    //jm_roomSet.SeatBespeakSet.CanBespeakSeatCount = roomSet.SeatBespeak.BespeakSeatCount;
                    //jm_roomSet.SeatBespeakSet.CanBespeakTimeSpan = new JM_TimeSpan();
                    //jm_roomSet.SeatBespeakSet.CanBespeakTimeSpan.StartTime = roomSet.SeatBespeak.CanBespeatTimeSpace.BeginTime;
                    //jm_roomSet.SeatBespeakSet.CanBespeakTimeSpan.EndTime = roomSet.SeatBespeak.CanBespeatTimeSpace.EndTime;
                    //jm_roomSet.SeatBespeakSet.CanNotBespeakDate = new List<JM_TimeSpan>();
                    //foreach (TimeSpace ts in roomSet.SeatBespeak.NoBespeakDates)
                    //{
                    //    JM_TimeSpan jm_ts = new JM_TimeSpan();
                    //    jm_ts.StartTime = ts.BeginTime;
                    //    jm_ts.EndTime = ts.EndTime;
                    //    jm_roomSet.SeatBespeakSet.CanNotBespeakDate.Add(jm_ts);
                    //}
                    //jm_roomSet.SeatBespeakSet.IsCanBespeakWithOnSeat = roomSet.SeatBespeak.BespeatWithOnSeat;
                    //jm_roomSet.SeatBespeakSet.IsCanSelectBespeakSeat = roomSet.SeatBespeak.SelectBespeakSeat;
                    //jm_roomSet.SeatBespeakSet.IsSpecifiedTime = roomSet.SeatBespeak.SpecifiedTime;
                    //jm_roomSet.SeatBespeakSet.IsUsedMultiSpanBespeak = roomSet.SeatBespeak.SpecifiedBespeak;
                    //jm_roomSet.SeatBespeakSet.IsUsedNowDaySeatBespeak = roomSet.SeatBespeak.NowDayBespeak;
                    //jm_roomSet.SeatBespeakSet.IsUsedSeatBespeak = roomSet.SeatBespeak.Used;
                    //jm_roomSet.SeatBespeakSet.NowDaySeatKeepTimeLength = int.Parse(roomSet.SeatBespeak.SeatKeepTime.ToString().Split('.')[0]);
                    //jm_roomSet.SeatBespeakSet.SigninTimeSpan = new JM_TimeSpan();
                    //jm_roomSet.SeatBespeakSet.SigninTimeSpan.StartTime = roomSet.SeatBespeak.ConfirmTime.BeginTime;
                    //jm_roomSet.SeatBespeakSet.SigninTimeSpan.EndTime = roomSet.SeatBespeak.ConfirmTime.EndTime;
                    //jm_roomSet.SeatBespeakSet.SpecifiedTimeList = new List<string>();
                    //foreach (DateTime item in roomSet.SeatBespeak.SpecifiedTimeList)
                    //{
                    //    jm_roomSet.SeatBespeakSet.SpecifiedTimeList.Add(item.ToShortTimeString());
                    //}
                    //jm_roomSet.SeatChooseMethod.DefaultChooseMethod = roomSet.SeatChooseMethod.DefaultChooseMethod.ToString();
                    //jm_roomSet.SeatChooseMethod.UsedAdvancedSet = roomSet.SeatChooseMethod.UsedAdvancedSet;
                    //jm_roomSet.SeatChooseMethod.AdvancedSet = new List<JM_SeatChooseMethodPlan>();
                    //foreach (KeyValuePair<DayOfWeek, SeatChooseMethodPlan> item in roomSet.SeatChooseMethod.AdvancedSelectSeatMode)
                    //{
                    //    JM_SeatChooseMethodPlan jm_plan = new JM_SeatChooseMethodPlan();
                    //    jm_plan.Day = item.Key.ToString();
                    //    jm_plan.IsUsed = item.Value.Used;
                    //    jm_plan.DayPlan = new List<JM_SeatChooseMethodAdvancedSet>();
                    //    foreach (SeatChooseMethodOption option in item.Value.PlanOption)
                    //    {
                    //        JM_SeatChooseMethodAdvancedSet s = new JM_SeatChooseMethodAdvancedSet();
                    //        s.ChooseMethodTimeSpan = new JM_TimeSpan();
                    //        s.ChooseMethod = option.ChooseMethod.ToString();
                    //        s.ChooseMethodTimeSpan.StartTime = option.UsedTime.BeginTime;
                    //        s.ChooseMethodTimeSpan.EndTime = option.UsedTime.EndTime;
                    //        jm_plan.DayPlan.Add(s);
                    //    }
                    //    jm_roomSet.SeatChooseMethod.AdvancedSet.Add(jm_plan);
                    //}
                    //jm_roomSet.SeatShortLeaveSet.DefaultHoldTimeLength = roomSet.SeatHoldTime.DefaultHoldTimeLength;
                    //jm_roomSet.SeatShortLeaveSet.AdminSet = new JM_AdminShortLeaveSet();
                    //jm_roomSet.SeatShortLeaveSet.AdminSet.HoldTimeLength = roomSet.AdminShortLeave.HoldTimeLength;
                    //jm_roomSet.SeatShortLeaveSet.AdminSet.IsUsed = roomSet.AdminShortLeave.IsUsed;
                    //jm_roomSet.SeatShortLeaveSet.AdvancedSet = new List<JM_ShortLeavePlan>();
                    //foreach (SeatHoldTimeOption item in roomSet.SeatHoldTime.AdvancedSeatHoldTime)
                    //{
                    //    JM_ShortLeavePlan plan = new JM_ShortLeavePlan();
                    //    plan.ChooseMethodTimeSpan = new JM_TimeSpan();
                    //    plan.ChooseMethodTimeSpan.StartTime = item.UsedTime.BeginTime;
                    //    plan.ChooseMethodTimeSpan.EndTime = item.UsedTime.EndTime;
                    //    plan.HoldTimeLength = item.HoldTimeLength;
                    //    plan.IsUsed = item.Used;
                    //    jm_roomSet.SeatShortLeaveSet.AdvancedSet.Add(plan);
                    //}
                    //jm_roomSet.SeatUsedTimeSet.CanContinuedTimes = roomSet.SeatUsedTimeLimit.ContinuedTimes;
                    //jm_roomSet.SeatUsedTimeSet.DelayLastTimeLength = int.Parse(roomSet.SeatUsedTimeLimit.CanDelayTime.ToString().Split('.')[0]);
                    //jm_roomSet.SeatUsedTimeSet.DelayTimeLength = int.Parse(roomSet.SeatUsedTimeLimit.DelayTimeLength.ToString().Split('.')[0]);
                    //jm_roomSet.SeatUsedTimeSet.FixedTimes = new List<string>();
                    //foreach (DateTime dt in roomSet.SeatUsedTimeLimit.FixedTimes)
                    //{
                    //    jm_roomSet.SeatUsedTimeSet.FixedTimes.Add(dt.ToShortTimeString());
                    //}
                    //jm_roomSet.SeatUsedTimeSet.HoldTimeModel = roomSet.SeatUsedTimeLimit.Mode;
                    //jm_roomSet.SeatUsedTimeSet.IsUsed = roomSet.SeatUsedTimeLimit.Used;
                    //jm_roomSet.SeatUsedTimeSet.IsUsedContinueTime = roomSet.SeatUsedTimeLimit.IsCanContinuedTime;
                    //jm_roomSet.SeatUsedTimeSet.OverTimeHandle = roomSet.SeatUsedTimeLimit.OverTimeHandle.ToString();
                    //jm_roomSet.SeatUsedTimeSet.SeatHoldTimeLength = int.Parse(roomSet.SeatUsedTimeLimit.UsedTimeLength.ToString().Split('.')[0]);
                    //jm_roomSet.SeatWaitSet.IsUsed = roomSet.NoManagement.Used;
                    //jm_roomSet.SeatWaitSet.OperatingTimeInterval = int.Parse(roomSet.NoManagement.OperatingInterval.ToString().Split('.')[0]);
                    #endregion
                }
                else
                {
                    JM_HandleResult result = new JM_HandleResult();
                    result.Result = false;
                    result.Msg    = "对不起,找不到此阅览室!";
                    return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
                }
                return(SeatManageComm.JSONSerializer.Serialize(jm_roomSet));
            }
            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));
            }
        }