Example #1
0
        /// <summary>
        /// 根据日期获取阅览室开闭时间
        /// </summary>
        /// <param name="set"></param>
        /// <param name="date"></param>
        /// <returns></returns>
        public TimeSpace GetRoomOpenTimeByDate(ReadingRoomSetting set, string date)
        {
            DayOfWeek day      = Convert.ToDateTime(date).DayOfWeek;
            TimeSpace timeList = new TimeSpace();

            if (set.RoomOpenSet.UsedAdvancedSet)
            {
                if (set.RoomOpenSet.RoomOpenPlan[day].Used)
                {
                    timeList = set.RoomOpenSet.RoomOpenPlan[day].OpenTime[0];
                    //bespeakTime = DateTime.Parse(string.Format("{0} {1}", Convert.ToDateTime(date).ToShortDateString(), set.RoomOpenSet.RoomOpenPlan[day].OpenTime[0].BeginTime));
                }
                else
                {
                    timeList.BeginTime = set.RoomOpenSet.DefaultOpenTime.BeginTime;
                    timeList.EndTime   = set.RoomOpenSet.DefaultOpenTime.EndTime;
                    //bespeakTime = DateTime.Parse(string.Format("{0} {1}", Convert.ToDateTime(date).ToShortDateString(), set.RoomOpenSet.DefaultOpenTime.BeginTime));
                }
            }
            else
            {
                timeList.BeginTime = set.RoomOpenSet.DefaultOpenTime.BeginTime;
                timeList.EndTime   = set.RoomOpenSet.DefaultOpenTime.EndTime;
            }
            return(timeList);
        }
Example #2
0
        public static List <TopCategorieVM> getTopCategories(this GenericRepository <Objet> repo, TimeSpace pTimeSpace, bool pPlus)
        {
            DateTime min = DateTime.Now;

            if (pTimeSpace == TimeSpace.MOIS)
            {
                min = min.AddDays(-30);
            }
            else if (pTimeSpace == TimeSpace.SEMAINE)
            {
                min = min.AddDays(-7);
            }
            List <TopCategorieVM> lstC = null;

            if (pPlus)
            {
                lstC = repo.context.Categories.Select(a => new TopCategorieVM {
                    Categorie = a, Count = a.Objets.Where(b => b.DatePublication > min).Count()
                }).OrderByDescending(a => a.Count).Take(5).ToList();
            }
            else
            {
                lstC = repo.context.Categories.Select(a => new TopCategorieVM {
                    Categorie = a, Count = a.Objets.Where(b => b.DatePublication > min).Count()
                }).OrderBy(a => a.Count).Take(5).ToList();
            }

            return(lstC);
        }
Example #3
0
        public static List <TopMemberVM> getTopMembres(this GenericRepository <Objet> repo, TimeSpace pTimeSpace)
        {
            DateTime min = DateTime.Now;

            if (pTimeSpace == TimeSpace.MOIS)
            {
                min = min.AddDays(-30);
            }
            else if (pTimeSpace == TimeSpace.SEMAINE)
            {
                min = min.AddDays(-7);
            }
            List <TopMemberVM> lstO = repo.context.Users.Select(a => new TopMemberVM {
                User = a, ObjetCount = a.Objets.Where(b => b.DatePublication > min).Count()
            }).OrderByDescending(a => a.ObjetCount).Where(a => a.ObjetCount > 0).Take(5).ToList();

            return(lstO);
        }
Example #4
0
        public static List <TopMembresAprecieVM> getTopMembresAprecies(this GenericRepository <Objet> repo, TimeSpace pTimeSpace)
        {
            DateTime min = DateTime.Now;

            if (pTimeSpace == TimeSpace.MOIS)
            {
                min = min.AddDays(-30);
            }
            else if (pTimeSpace == TimeSpace.SEMAINE)
            {
                min = min.AddDays(-7);
            }

            if (repo.context.Users.ToList().Count() != 0)
            {
                List <TopMembresAprecieVM> lstM = repo.context.Emprunts
                                                  .GroupBy(u => u.Objet.User)
                                                  .Where(a => a.Where(e => e.DateFin != null && e.DateFin > min).Count() > 0)
                                                  .Select(u => new TopMembresAprecieVM {
                    AverageNotes = u.Where(e => e.DateFin != null && e.DateFin > min).Average(av => (double?)av.NoteService) ?? 0, User = u.Key
                })
                                                  .OrderByDescending(a => a.AverageNotes).Take(5)
                                                  .ToList();

                return(lstM);
            }
            return(new List <TopMembresAprecieVM>());
        }
Example #5
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("保存失败!");
            }
        }
        //This event fires when a menu item or toolbar button is clicked.  So if you added a button or menu
        //on the Initialize event, then this is where you would handle it.
        public void ItemClicked(string ItemName, ref bool Handled)
        {
            if (ItemName == this.strBTNRun)
            {
                //显示仿真窗口
                //scConvas.Show();
                this.convas.Show();
                // SimController.Run();
                SimController.StartSimulate();
                Handled             = true;
                TBTN_Config.Enabled = false;
                TBTN_Pause.Enabled  = true;

                TBTN_ChartMeanSpeed.Enabled = false;
                TBTN_ChartSpaceTime.Enabled = false;
                TBTN_ChartSpeedTime.Enabled = false;
                TBTN_ShowData.Enabled       = false;
            }

            if (ItemName == this.strBTNConfig)
            {
                TBTN_Run.Enabled   = true;
                TBTN_Pause.Enabled = true;
                this.convas        = this.mMapWin.UIPanel.CreatePanel("TranSimGIS", MapWindowDockStyle.Right);


                TrafficSim.SimConfig cs = new TrafficSim.SimConfig();
                if (cs.ShowDialog() == DialogResult.OK)
                {
//                    SimController.iMobileCount = cs.iCarCount;

//                    SimController.iSimInterval = cs.iSimSpeed;
//                    ModelSetting.dRate = cs.dRatio;
//                    ModelSetting. = cs.dRatio;
//.i = cs.iCellWidth;
                }
                cs.Dispose();


//                SimController.ConfigSimEnvironment(this.convas);
                TBTN_Config.Enabled = false;
                TBTN_Pause.Enabled  = true;

                Handled = true;
            }

            //暂停
            if (ItemName == this.strBTNPause)
            {
                //SimController.IsPause = true;
                SimController.bIsExit = true;

                TBTN_Run.Enabled = true;

                TBTN_ChartMeanSpeed.Enabled = true;
                TBTN_ChartSpaceTime.Enabled = true;
                TBTN_ChartSpeedTime.Enabled = true;
                TBTN_ShowData.Enabled       = true;

                TBTN_Config.Enabled = false;
                Handled             = true;
            }
            //平均速度
            if (ItemName == this.strBTNMeanSpeed)
            {
                MeanSpeed msc = new MeanSpeed();
                msc.Show();
                Handled = true;
            }
            //时间空间图
            if (ItemName == this.strBTNSpaceTime)
            {
                TimeSpace tsc = new TimeSpace();
                tsc.Show();
                Handled = true;
            }
            //速度时间图
            if (ItemName == this.strBTNSpeedTime)
            {
                SpeedTime st = new SpeedTime();
                st.Show();
                Handled = true;
            }

            //速度时间图
            if (ItemName == this.strBTNShowData)
            {
                DataOutputer dop = new DataOutputer();
                dop.Show();
                Handled = true;
            }
        }