Ejemplo n.º 1
0
        /// <summary>
        /// 初始化雅座
        /// </summary>
        internal void InitialRooms(RoomStateModel stateModel)
        {
            this.OldRoomNo  = stateModel.RoomNo;
            oldModel        = Resources.GetRes().RoomsModel.Where(x => x.RoomId == stateModel.RoomId).FirstOrDefault();
            oldModelSession = oldModel.OrderSession;

            Room model = Resources.GetRes().Rooms.Where(x => x.RoomId == stateModel.RoomId).FirstOrDefault();

            resultRoomList.Clear();
            this.RoomList.Children.Clear();

            IEnumerable <Room> models = Resources.GetRes().Rooms.Where(x => x.RoomId != model.RoomId && (x.HideType == 0 || x.HideType == 2) && x.IsPayByTime == model.IsPayByTime).OrderByDescending(x => x.Order).ThenBy(x => x.RoomNo.Length).ThenBy(x => x.RoomNo);

            foreach (var item in models)
            {
                resultRoomList.Add(new RoomStateModel()
                {
                    RoomNo = item.RoomNo, RoomId = item.RoomId
                });
            }


            foreach (var item in resultRoomList)
            {
                AddRoomsItem(item);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 更换读卡
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void krpcbCardReader_SelectedIndexChanged()
        {
            if (this.IsDisplay)
            {
                if (cardHooked)
                {
                    hookCard.RemoveHook();
                    cardHooked = false;
                }

                RoomStateModel model = resultCardList.Where(x => x.UseState).FirstOrDefault();
                if (null != model)
                {
                    var    availbleScanners = hookCard.GetKeyboardDevices();
                    string first            = availbleScanners.Where(x => String.Format("{0:X}", x.GetHashCode()) == model.RoomNo).FirstOrDefault();

                    if (!string.IsNullOrWhiteSpace(first))
                    {
                        hookCard.SetDeviceFilter(first);

                        hookCard.KeyPressed -= OnCardKey;
                        hookCard.KeyPressed += OnCardKey;

                        cardHooked = true;
                        hookCard.AddHook(_element as Window);
                    }
                }
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 包厢呼叫去掉
        /// </summary>
        /// <param name="room"></param>
        internal void RoomCallAdd(long RoomId)
        {
            for (int i = 0; i < RoomList.Count; i++)
            {
                if (RoomList[i].RoomId == RoomId)
                {
                    RoomStateModel model = (RoomList[i]);
                    _element.Dispatcher.BeginInvoke(new Action(() =>
                    {
                        model.Called = true;
                        if (null != TimeupAlr)
                        {
                            TimeupAlr();

                            // 点歌系统就显示呼叫
                            if (Res.Resources.GetRes().IsRequired("Vod"))
                            {
                                // 呼叫
                                Common.GetCommon().CallDevice(model.RoomNo);
                            }
                        }
                    }));

                    break;
                }
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 设置颜色(快到时间检查)
        /// </summary>
        private void SetColor(bool IsAlert, List <long> Rooms = null)
        {
            bool IsFlash = false;

            // 如果是新新部分
            if (null != Rooms)
            {
                // 待确认改为红色
                for (int i = 0; i < RoomLists.Count; i++)
                {
                    try
                    {
                        RoomStateModel model = RoomLists[i] as RoomStateModel;


                        if (Rooms.Contains(model.RoomId))
                        {
                            if (model.RefreshImageState())
                            {
                                IsFlash = true;
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        ExceptionPro.ExpLog(ex);
                    }
                }
            }
            else
            {
                // 待确认改为红色
                for (int i = 0; i < RoomLists.Count; i++)
                {
                    try
                    {
                        RoomStateModel model = RoomLists[i] as RoomStateModel;

                        if (model.RefreshImageState())
                        {
                            IsFlash = true;
                        }
                    }
                    catch (Exception ex)
                    {
                        ExceptionPro.ExpLog(ex);
                    }
                }
            }

            // 如果需要闪烁
            if (IsAlert && IsFlash)
            {
                if (null != TimeupAlr)
                {
                    TimeupAlr();
                }
            }
        }
Ejemplo n.º 5
0
        /// <summary>
        /// 更新部分
        /// </summary>
        private void RefreshSome(List <long> RoomsId)
        {
            Xamarin.Forms.Device.BeginInvokeOnMainThread(() =>
            {
                foreach (var RoomId in RoomsId)
                {
                    RoomModel item       = Resources.Instance.RoomsModel.Where(x => x.RoomId == RoomId).FirstOrDefault();
                    RoomStateModel model = RoomLists.Where(x => x.RoomId == RoomId).FirstOrDefault();
                    if (null == model)
                    {
                        RoomStateModel newRoomStateModel = new RoomStateModel()
                        {
                            RoomId = item.RoomId, RoomNo = item.RoomNo, UseState = (null != item.PayOrder), OrderSession = item.OrderSession, PayOrder = item.PayOrder
                        };
                        AddList(newRoomStateModel);
                    }
                    else
                    {
                        if (null != item && null != model && model.OrderSession != item.OrderSession)
                        {
                            RoomStateModel oldModel = RoomLists.Where(x => null != x.OrderSession && x.OrderSession.Equals(model.OrderSession, StringComparison.Ordinal)).FirstOrDefault();
                            int no = RoomLists.Count;


                            RoomStateModel newRoomStateModel = new RoomStateModel()
                            {
                                RoomId = item.RoomId, RoomNo = item.RoomNo, UseState = (null != item.PayOrder), OrderSession = item.OrderSession, PayOrder = item.PayOrder
                            };
                            if (null != oldModel)
                            {
                                no = RoomLists.IndexOf(oldModel);
                                ReplaceSelected(no, oldModel, newRoomStateModel);
                            }
                            else
                            {
                                AddList(newRoomStateModel, no);
                            }
                        }
                        else
                        {
                            if (null != model && item == null)
                            {
                                RoomStateModel oldModel = RoomLists.Where(x => x.OrderSession.Equals(model.OrderSession, StringComparison.Ordinal)).FirstOrDefault();
                                if (null != oldModel)
                                {
                                    RemoveSelected(oldModel);
                                }
                            }
                        }
                    }
                }

                RefreshAll(true);
            });
        }
Ejemplo n.º 6
0
        /// <summary>
        /// 更新部分
        /// </summary>
        private void RefreshSome(List <long> RoomsId)
        {
            _element.Dispatcher.BeginInvoke(new Action(() =>
            {
                foreach (var RoomId in RoomsId)
                {
                    RoomModel item       = Resources.GetRes().RoomsModel.Where(x => x.RoomId == RoomId).FirstOrDefault();
                    RoomStateModel model = RoomList.Where(x => x.RoomId == RoomId).FirstOrDefault();
                    if (null == model)
                    {
                        RoomStateModel newRoomStateModel = new RoomStateModel()
                        {
                            RoomId = item.RoomId, RoomNo = item.RoomNo, UseState = (null != item.PayOrder), OrderSession = item.OrderSession, PayOrder = item.PayOrder, OpenRoom = OpenRoom
                        };
                        RoomList.Add(newRoomStateModel);
                    }
                    else
                    {
                        if (null != item && null != model && model.OrderSession != item.OrderSession)
                        {
                            RoomStateModel oldModel = RoomList.Where(x => null != x.OrderSession && x.OrderSession.Equals(model.OrderSession, StringComparison.Ordinal)).FirstOrDefault();
                            int no = RoomList.Count;
                            if (null != oldModel)
                            {
                                no = RoomList.IndexOf(oldModel);
                                RoomList.RemoveAt(no);
                            }
                            RoomStateModel newRoomStateModel = new RoomStateModel()
                            {
                                RoomId = item.RoomId, RoomNo = item.RoomNo, UseState = (null != item.PayOrder), OrderSession = item.OrderSession, PayOrder = item.PayOrder, OpenRoom = OpenRoom
                            };
                            RoomList.Insert(no, newRoomStateModel);
                        }
                        else
                        {
                            if (null != model && item == null)
                            {
                                RoomStateModel oldModel = RoomList.Where(x => x.OrderSession.Equals(model.OrderSession, StringComparison.Ordinal)).FirstOrDefault();
                                if (null != oldModel)
                                {
                                    int no = RoomList.IndexOf(oldModel);
                                    if (-1 != no)
                                    {
                                        RoomList.RemoveAt(no);
                                    }
                                }
                            }
                        }
                    }
                }

                RefreshAll(true);
            }));
        }
Ejemplo n.º 7
0
        /// <summary>
        /// 初始化卡片阅读器
        /// </summary>
        private void InitCardReader()
        {
            resultCardList.Clear();
            this.CardList.Children.Clear();

            RoomStateModel nullRoomStateModel = new RoomStateModel()
            {
                RoomNo = Resources.GetRes().GetString("None")
            };

            resultCardList.Add(nullRoomStateModel);


            try
            {
                KeyboardHook hook             = new KeyboardHook();
                var          availbleScanners = hook.GetKeyboardDevices();
                if (null != availbleScanners && availbleScanners.Count > 0)
                {
                    foreach (var item in availbleScanners.Distinct())
                    {
                        RoomStateModel model = new RoomStateModel()
                        {
                            RoomNo = String.Format("{0:X}", item.GetHashCode())
                        };


                        if (String.Format("{0:X}", item.GetHashCode()) == Resources.GetRes().CardReader)
                        {
                            model.UseState = true;
                        }

                        if (resultCardList.Where(x => x.RoomNo == model.RoomNo).Count() == 0)
                        {
                            resultCardList.Add(model);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                ExceptionPro.ExpLog(ex);
            }

            foreach (var item in resultCardList)
            {
                AddCardItem(item);
            }

            if (resultCardList.Where(x => x.UseState).Count() == 0)
            {
                nullRoomStateModel.UseState = true;
            }
        }
Ejemplo n.º 8
0
 /// <summary>
 /// 添加语言
 /// </summary>
 /// <param name="item"></param>
 private void AddLanguageItem(RoomStateModel item)
 {
     _element.Dispatcher.BeginInvoke(new Action(() =>
     {
         CheckBox btn         = new CheckBox();
         btn.Style            = LangSelectStyle;
         btn.DataContext      = item;
         btn.Command          = SelectLanguage;
         btn.CommandParameter = item;
         LanguageList.Children.Add(btn);
     }));
 }
Ejemplo n.º 9
0
        public async Task <int> AddRoomState(RoomStateModel roomStateModel)
        {
            var roomState = new RoomState()
            {
                Name = roomStateModel.Name
            };
            await _hotelContext.RoomStates.AddAsync(roomState);

            await _hotelContext.SaveChangesAsync();

            return(roomState.Id);
        }
Ejemplo n.º 10
0
        /// <summary>
        /// 添加
        /// </summary>
        /// <param name="model"></param>
        /// <param name="Index"></param>
        private void AddList(RoomStateModel model, int Index = -1)
        {
            model.GoCommand = this.GoCommand;

            if (Index != -1)
            {
                RoomLists.Insert(Index, model);
            }
            else
            {
                RoomLists.Add(model);
            }

            AddSelectedItem(model, Index);
        }
Ejemplo n.º 11
0
        /// <summary>
        /// 添加已选对象
        /// </summary>
        /// <param name="item"></param>
        private void AddSelectedItem(RoomStateModel item, int Index = -1)
        {
            Xamarin.Forms.TemplatedView view = new Xamarin.Forms.TemplatedView();
            view.ControlTemplate = _ctControlTemplate;
            view.BindingContext  = item;

            if (Index != -1)
            {
                _spList.Children.Insert(Index, view);
            }
            else
            {
                _spList.Children.Add(view);
            }
        }
Ejemplo n.º 12
0
        /// <summary>
        /// 包厢呼叫去掉
        /// </summary>
        /// <param name="room"></param>
        internal void RoomCallAdd(long RoomId)
        {
            for (int i = 0; i < RoomLists.Count; i++)
            {
                if (RoomLists[i].RoomId == RoomId)
                {
                    RoomStateModel model = (RoomLists[i]);
                    Device.BeginInvokeOnMainThread(new Action(() =>
                    {
                        model.Called = true;
                    }));

                    break;
                }
            }
        }
Ejemplo n.º 13
0
        /// <summary>
        /// 添加已选对象
        /// </summary>
        /// <param name="item"></param>
        private void AddSelectedItem(RoomStateModel item, int Index = -1)
        {
            Xamarin.Forms.TemplatedView view = null;
            if (tempTemplateViewList.Count > 0)
            {
                view                = tempTemplateViewList.Pop();
                view.IsVisible      = true;
                view.BindingContext = item;
            }
            else
            {
                view = new Xamarin.Forms.TemplatedView();
                view.ControlTemplate = _ctControlTemplate;

                view.BindingContext = item;
                _spList.Children.Add(view);
            }
        }
Ejemplo n.º 14
0
        /// <summary>
        /// 初始化雅座
        /// </summary>
        internal void InitialRooms(RoomStateModel stateModel)
        {
            this.OldRoomNo  = stateModel.RoomNo;
            oldModel        = Resources.Instance.RoomsModel.Where(x => x.RoomId == stateModel.RoomId).FirstOrDefault();
            oldModelSession = oldModel.OrderSession;

            Room model = Resources.Instance.Rooms.Where(x => x.RoomId == stateModel.RoomId).FirstOrDefault();

            ClearList();

            List <Room> models = Resources.Instance.Rooms.Where(x => x.RoomId != model.RoomId && (x.HideType == 0 || x.HideType == 2) && x.IsPayByTime == model.IsPayByTime).OrderByDescending(x => x.Order).ThenBy(x => x.RoomNo.Length).ThenBy(x => x.RoomNo).ToList();

            foreach (var item in models)
            {
                AddList(new RoomStateModel()
                {
                    RoomNo = item.RoomNo, RoomId = item.RoomId
                });
            }
        }
Ejemplo n.º 15
0
        /// <summary>
        /// 删除已选
        /// </summary>
        /// <param name="item"></param>
        private void RemoveSelected(RoomStateModel item)
        {
            RoomLists.Remove(item);

            Xamarin.Forms.TemplatedView _view = null;
            foreach (Xamarin.Forms.TemplatedView items in this._spList.Children)
            {
                if (items.BindingContext == item)
                {
                    _view = items;
                    break;
                }
            }

            if (null != _view)
            {
                _view.BindingContext = null;
                this._spList.Children.Remove(_view);
            }
        }
Ejemplo n.º 16
0
        /// <summary>
        /// 替换
        /// </summary>
        /// <param name="index"></param>
        /// <param name="oldItem"></param>
        /// <param name="newItem"></param>
        private void ReplaceSelected(int index, RoomStateModel oldItem, RoomStateModel newItem)
        {
            RoomLists.Remove(oldItem);

            Xamarin.Forms.TemplatedView _view = null;
            foreach (Xamarin.Forms.TemplatedView items in this._spList.Children)
            {
                if (items.BindingContext == oldItem)
                {
                    _view = items;
                    break;
                }
            }


            newItem.GoCommand = this.GoCommand;
            RoomLists.Insert(index, newItem);
            if (null != _view)
            {
                _view.BindingContext = null;
                _view.BindingContext = newItem;
            }
        }
Ejemplo n.º 17
0
        public void AddRow()
        {
            if (RoomStates.Count() > 0)
            {
                if (RoomStates[RoomStates.Count() - 1].Name == null && RoomStates[RoomStates.Count() - 1].Color == null)
                {
                    new MessageWindow(thiswindow, "有空行还未填写").ShowDialog();
                    return;
                }
                else if (RoomStates[RoomStates.Count() - 1].Name == null)
                {
                    new MessageWindow(thiswindow, "房间状态不能为空").ShowDialog();
                    return;
                }
            }
            RoomStateModel rt = new RoomStateModel()
            {
                StateID = Guid.NewGuid(),
                Color   = "默认(灰色)"
            };

            RoomStates.Add(rt);
        }
Ejemplo n.º 18
0
        /// <summary>
        /// 删除已选
        /// </summary>
        /// <param name="item"></param>
        private void RemoveSelected(RoomStateModel item)
        {
            Xamarin.Forms.TemplatedView _view = null;
            foreach (Xamarin.Forms.TemplatedView items in this._spList.Children)
            {
                if (items.BindingContext == item)
                {
                    _view = items;
                    break;
                }
            }

            if (null != _view)
            {
                _view.BindingContext = null;
                if (!tempTemplateViewList.Contains(_view))
                {
                    tempTemplateViewList.Push(_view);
                }
                _view.IsVisible = false;
            }

            RoomList.Remove(item);
        }
Ejemplo n.º 19
0
        public Task UpdateRoomState(RoomStateModel roomState)
        {
            string sql = "[dbo].[UpdateRoomState] @RoomState_ID, @RoomState_Name, @RoomState_Description, @RoomState_Marked, @Hotel_ID";

            return(db.SaveData(sql, roomState));
        }
Ejemplo n.º 20
0
        public Task DeleteRoomState(RoomStateModel roomState)
        {
            string sql = "[dbo].[DeleteRoomState] @RoomState_ID";

            return(db.SaveData(sql, roomState));
        }
Ejemplo n.º 21
0
 public async Task <int> AddRoomState(RoomStateModel roomStateModel) =>
 await _service.AddRoomState(roomStateModel);
Ejemplo n.º 22
0
        /// <summary>
        /// 初始化
        /// </summary>
        internal void Initial()
        {
            ServerIP     = Resources.GetRes().SERVER_ADDRESS;
            IsLocalPrint = Resources.GetRes().IsLocalPrintCustomOrder;

            // 初始化抽屉
            InitDrawbox();
            // 初始化客显
            InitPriceMonitor();
            // 初始化条码阅读器
            InitBarcodeReader();
            // 初始化卡片阅读器
            InitCardReader();

            if (resultDrawList.Count > 0 && resultDrawList.Where(x => x.UseState).Count() > 0 && resultDrawList.Where(x => x.UseState).FirstOrDefault().RoomNo != Resources.GetRes().GetString("None"))
            {
                HideOpen = false;
            }
            else
            {
                HideOpen = true;
            }

            if (resultPriceList.Count > 0 && resultPriceList.Where(x => x.UseState).Count() > 0 && resultPriceList.Where(x => x.UseState).FirstOrDefault().RoomNo != Resources.GetRes().GetString("None"))
            {
                HideTest = false;
            }
            else
            {
                HideTest = true;
            }


            resultLanguageList.Clear();
            this.LanguageList.Children.Clear();

            // 初始化语言


            foreach (var item in Resources.GetRes().AllLangList.OrderBy(x => x.Value.LangOrder))
            {
                RoomStateModel Model0 = new RoomStateModel()
                {
                    RoomNo = Resources.GetRes().GetString("LangName", item.Value.Culture), RoomId = item.Value.LangIndex
                };

                if (Model0.RoomId == Resources.GetRes().CurrentLangIndex)
                {
                    Model0.UseState = true;
                    lastLangIndex   = Resources.GetRes().CurrentLangIndex;
                }
                resultLanguageList.Add(Model0);
            }



            foreach (var item in resultLanguageList)
            {
                AddLanguageItem(item);
            }


            // 扫码/刷卡
            krpcbBarcodeReader_SelectedIndexChanged();
            krpcbCardReader_SelectedIndexChanged();
        }
Ejemplo n.º 23
0
 /// <summary>
 /// 初始化
 /// </summary>
 /// <param name="model"></param>
 internal void Init(RoomStateModel model)
 {
     viewModel.InitialRooms(model);
 }
Ejemplo n.º 24
0
 /// <summary>
 /// 包厢呼叫去掉
 /// </summary>
 /// <param name="room"></param>
 internal void RoomCallRemove(RoomStateModel room)
 {
     room.Called = false;
 }
Ejemplo n.º 25
0
        /// <summary>
        /// 初始化客显设置
        /// </summary>
        private void InitPriceMonitor()
        {
            resultPriceList.Clear();
            this.PriceList.Children.Clear();

            RoomStateModel nullRoomStateModel = new RoomStateModel()
            {
                RoomNo = Resources.GetRes().GetString("None")
            };

            resultPriceList.Add(nullRoomStateModel);


            RegistryKey ComReg = null;

            string[] ComList;
            object   ComStr = null;


            try
            {
                ComReg = Registry.LocalMachine.OpenSubKey("HARDWARE\\DEVICEMAP\\SERIALCOMM", false);

                if (null != ComReg)
                {
                    ComList = ComReg.GetValueNames();
                    for (int i = 0; i < ComList.Length; i++)
                    {
                        ComStr = ComReg.GetValue(ComList[i]);
                        if (null != ComStr && (ComStr.ToString() != "") && (("COM").ToLower().CompareTo((ComStr.ToString().Substring(1 - 1, 3)).ToLower()) == 0))
                        {
                            RoomStateModel model = new RoomStateModel()
                            {
                                RoomNo = ComStr.ToString()
                            };


                            if (!string.IsNullOrWhiteSpace(Resources.GetRes().PriceMonitor) && null != ComStr && !string.IsNullOrWhiteSpace(ComStr.ToString()) && Resources.GetRes().PriceMonitor == ComStr.ToString())
                            {
                                model.UseState = true;
                            }

                            if (resultPriceList.Where(x => x.RoomNo == model.RoomNo).Count() == 0)
                            {
                                resultPriceList.Add(model);
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                ExceptionPro.ExpLog(ex);
            }



            foreach (var item in resultPriceList)
            {
                AddPriceItem(item);
            }

            if (resultPriceList.Count == 1)
            {
                nullRoomStateModel.UseState = true;
            }
        }