public void GetRoomUsage()
        {
            try
            {
                //添加区域
                List <LibraryInfo> linList = SeatManage.Bll.T_SM_Library.GetLibraryInfoList(null, null, null);

                DateTime nowDateTime = SeatManage.Bll.ServiceDateTime.Now;
                Dictionary <string, ReadingRoomSeatUsedState_Ex> roomStateList = SeatManage.Bll.TerminalOperatorService.GetTeminaRoomStatus(clientObject.ClientSetting.DeviceSetting.Rooms);
                foreach (KeyValuePair <string, ReadingRoomSeatUsedState_Ex> item in roomStateList)
                {
                    SeatManage.EnumType.ReadingRoomStatus roomStatus = SeatClientV3.Code.NowReadingRoomState.ReadingRoomOpenState(item.Value.ReadingRoom.Setting.RoomOpenSet, nowDateTime);
                    if (roomStatus == SeatManage.EnumType.ReadingRoomStatus.Close && !clientObject.ClientSetting.DeviceSetting.IsShowClosedRoom)
                    {
                        continue;
                    }
                    UCViewModel.UC_LastSeatNum viewModel = new UCViewModel.UC_LastSeatNum();
                    viewModel.ReadingRoomName  = item.Value.ReadingRoom.Name;
                    viewModel.ReadingRoomNo    = item.Value.ReadingRoom.No;
                    viewModel.IsBook           = item.Value.ReadingRoom.Setting.SeatBespeak.Used;
                    viewModel.AllSeatCount     = roomStateList[item.Key].SeatAmountAll;
                    viewModel.UsedSeatCount    = roomStateList[item.Key].SeatAmountUsed;
                    viewModel.BookingSeatCount = roomStateList[item.Key].SeatBookingCount;
                    viewModel.Usage            = roomStateList[item.Key].RoomSeatUsingState;
                    viewModel.Status           = roomStatus;
                    RoomList.Add(viewModel);
                }
            }
            catch (Exception ex)
            {
                SeatManage.SeatManageComm.WriteLog.Write("加载阅览室遇到异常" + ex.Message);
                MessageWindow errorWindow = new MessageWindow(SeatManage.EnumType.MessageType.Exception);
                errorWindow.ShowDialog();
            }
        }
Пример #2
0
        public string ReadingRoomState(string ReadingRoomNo)
        {
            try
            {
                if (!Verifylicensing())
                {
                    return("非法操作,此接口未进行授权!");
                }
                if (!checkReadingRoomNo(ReadingRoomNo))
                {
                    return("阅览室编号错误");
                }
                string          result = "";
                ReadingRoomInfo room   = GetSingleRoomInfo(ReadingRoomNo);
                SeatManage.EnumType.ReadingRoomStatus roomState = NowReadingRoomState.ReadingRoomOpenState(room.Setting.RoomOpenSet, DateTime.Now);
                string readingRoomState = "";
                switch (roomState)
                {
                case SeatManage.EnumType.ReadingRoomStatus.Open:
                    readingRoomState = "开放";
                    break;

                case SeatManage.EnumType.ReadingRoomStatus.BeforeOpen:
                    readingRoomState = "即将开馆";
                    break;

                case SeatManage.EnumType.ReadingRoomStatus.Close:
                    readingRoomState = "关闭";
                    break;

                case SeatManage.EnumType.ReadingRoomStatus.BeforeClose:
                    readingRoomState = "即将关闭";
                    break;
                }
                result = string.Format("<ReadingRoomState><RoomName No='{0}' SchoolName='{1}' LibraryName='{2}'>{3}</RoomName><Status>{4}</Status></ReadingRoomState>", ReadingRoomNo, room.Libaray.School.Name, room.Libaray.Name, room.Name, readingRoomState);
                return(result);
            }
            catch (Exception ex)
            {
                return(ex.Message);
            }
        }
        //private ViewModel.LoadingUC_ViewModel _LoadViewModel = new LoadingUC_ViewModel();
        ///// <summary>
        ///// 读取滚动条
        ///// </summary>
        //public ViewModel.LoadingUC_ViewModel LoadViewModel
        //{
        //    get { return _LoadViewModel; }
        //    set { _LoadViewModel = value; }
        //}

        #endregion
        /// <summary>
        /// 分区域排列
        /// </summary>
        public void GetRoomUsage()
        {
            try
            {
                //添加区域
                List <LibraryInfo> linList = SeatManage.Bll.T_SM_Library.GetLibraryInfoList(null, null, null);
                foreach (LibraryInfo lib in linList)
                {
                    foreach (AreaInfo area in lib.AreaList)
                    {
                        if (!ReadingRoomUsage.ContainsKey(area.AreaName))
                        {
                            ReadingRoomUsage.Add(area.AreaName, new List <ReadingRoomBtn_ViewModel>());
                        }
                    }
                }
                if (!ReadingRoomUsage.ContainsKey("阅览室"))
                {
                    ReadingRoomUsage.Add("阅览室", new List <ReadingRoomBtn_ViewModel>());
                }

                DateTime nowDateTime = SeatManage.Bll.ServiceDateTime.Now;
                Dictionary <string, ReadingRoomSeatUsedState_Ex> roomStateList = SeatManage.Bll.TerminalOperatorService.GetTeminaRoomStatus(clientObject.ClientSetting.DeviceSetting.Rooms);
                foreach (KeyValuePair <string, ReadingRoomSeatUsedState_Ex> item in roomStateList)
                {
                    if (item.Value.ReadingRoom.Area.AreaName == "")
                    {
                        item.Value.ReadingRoom.Area.AreaName = "阅览室";
                    }
                    if (roomStateList.ContainsKey(item.Key))
                    {
                        SeatManage.EnumType.ReadingRoomStatus roomStatus = SeatClientV3.Code.NowReadingRoomState.ReadingRoomOpenState(item.Value.ReadingRoom.Setting.RoomOpenSet, nowDateTime);
                        if (roomStatus == SeatManage.EnumType.ReadingRoomStatus.Close && !clientObject.ClientSetting.DeviceSetting.IsShowClosedRoom)
                        {
                            continue;
                        }
                        ReadingRoomBtn_ViewModel viewModel = new ReadingRoomBtn_ViewModel();
                        viewModel.ReadingRoomName  = item.Value.ReadingRoom.Name;
                        viewModel.ReadingRoomNo    = item.Value.ReadingRoom.No;
                        viewModel.IsBook           = item.Value.ReadingRoom.Setting.SeatBespeak.Used;
                        viewModel.AllSeatCount     = roomStateList[item.Key].SeatAmountAll;
                        viewModel.UsedSeatCount    = roomStateList[item.Key].SeatAmountUsed;
                        viewModel.BookingSeatCount = roomStateList[item.Key].SeatBookingCount;
                        viewModel.Usage            = roomStateList[item.Key].RoomSeatUsingState;
                        viewModel.Status           = roomStatus;
                        ReadingRoomUsage[item.Value.ReadingRoom.Area.AreaName].Add(viewModel);
                    }
                }
                //删除空区域
                List <string> deleteArea = new List <string>();
                foreach (KeyValuePair <string, List <ReadingRoomBtn_ViewModel> > item in ReadingRoomUsage)
                {
                    if (item.Value.Count < 1)
                    {
                        deleteArea.Add(item.Key);
                    }
                }
                foreach (string a in deleteArea)
                {
                    ReadingRoomUsage.Remove(a);
                }
            }
            catch (Exception ex)
            {
                SeatManage.SeatManageComm.WriteLog.Write("加载阅览室遇到异常" + ex.Message);
                MessageWindow errorWindow = new MessageWindow(SeatManage.EnumType.MessageType.Exception);
                errorWindow.ShowDialog();
            }
        }