/// <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); }
/// <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); }
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())); }
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; } }
/// <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); }
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); }
/// <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 + " ", 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 + "')"); } }
//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("保存失败!"); } }
/// <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)); } }