/// <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); } }
/// <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); } } } }
/// <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; } } }
/// <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(); } } }
/// <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); }); }
/// <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); })); }
/// <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; } }
/// <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); })); }
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); }
/// <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); }
/// <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); } }
/// <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; } } }
/// <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); } }
/// <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 }); } }
/// <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); } }
/// <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; } }
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); }
/// <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); }
public Task UpdateRoomState(RoomStateModel roomState) { string sql = "[dbo].[UpdateRoomState] @RoomState_ID, @RoomState_Name, @RoomState_Description, @RoomState_Marked, @Hotel_ID"; return(db.SaveData(sql, roomState)); }
public Task DeleteRoomState(RoomStateModel roomState) { string sql = "[dbo].[DeleteRoomState] @RoomState_ID"; return(db.SaveData(sql, roomState)); }
public async Task <int> AddRoomState(RoomStateModel roomStateModel) => await _service.AddRoomState(roomStateModel);
/// <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(); }
/// <summary> /// 初始化 /// </summary> /// <param name="model"></param> internal void Init(RoomStateModel model) { viewModel.InitialRooms(model); }
/// <summary> /// 包厢呼叫去掉 /// </summary> /// <param name="room"></param> internal void RoomCallRemove(RoomStateModel room) { room.Called = false; }
/// <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; } }