private void OnMenuItemCommandExecute(ScreenMenuItem screenMenuItem) { decimal selectedMultiplier = 1; if (!string.IsNullOrEmpty(NumeratorValue) && !_filtered) { decimal.TryParse(NumeratorValue, out selectedMultiplier); } if (IsQuickNumeratorVisible) { NumeratorValue = QuickNumeratorValues[0]; } if (IsNumeratorVisible) { NumeratorValue = ""; } if (selectedMultiplier > 0) { var data = new ScreenMenuItemData { ScreenMenuItem = screenMenuItem, Quantity = selectedMultiplier }; if (data.Quantity == 1 && screenMenuItem.Quantity > 1) { data.Quantity = screenMenuItem.Quantity; } data.PublishEvent(EventTopicNames.ScreenMenuItemDataSelected); } }
private void OnFindMenuItemCommand(string obj) { var insertedData = NumeratorValue; decimal quantity = 1; if (NumeratorValue.ToLower().Contains("x")) { insertedData = NumeratorValue.Substring(NumeratorValue.ToLower().IndexOf("x") + 1); string q = NumeratorValue.Substring(0, NumeratorValue.ToLower().IndexOf("x")); decimal.TryParse(q, out quantity); } NumeratorValue = ""; if (quantity > 0) { var weightBarcodePrefix = _settingService.ProgramSettings.WeightBarcodePrefix; if (!string.IsNullOrEmpty(weightBarcodePrefix) && insertedData.StartsWith(weightBarcodePrefix)) { var itemLength = _settingService.ProgramSettings.WeightBarcodeItemLength; var quantityLength = _settingService.ProgramSettings.WeightBarcodeQuantityLength; if (itemLength > 0 && quantityLength > 0 && insertedData.Length >= itemLength + quantityLength + weightBarcodePrefix.Length) { var bc = insertedData.Substring(weightBarcodePrefix.Length, itemLength); if (!string.IsNullOrEmpty(_settingService.ProgramSettings.WeightBarcodeItemFormat)) { int integerValue; int.TryParse(bc, out integerValue); if (integerValue > 0) { bc = integerValue.ToString(_settingService.ProgramSettings.WeightBarcodeItemFormat); } } var qty = insertedData.Substring(weightBarcodePrefix.Length + itemLength, quantityLength); if (bc.Length > 0 && qty.Length > 0) { insertedData = bc; decimal.TryParse(qty, out quantity); } } } try { var mi = _cacheService.GetMenuItem(x => x.Barcode == insertedData); if (mi != null) { var si = new ScreenMenuItem { MenuItemId = mi.Id, Name = mi.Name }; var data = new ScreenMenuItemData { ScreenMenuItem = si, Quantity = quantity }; data.PublishEvent(EventTopicNames.ScreenMenuItemDataSelected); } } catch (Exception) { } } }
public ScreenMenuItemButton(ScreenMenuItem screenMenuItem, ICommand command, ScreenMenuCategory category) { _screenMenuItem = screenMenuItem; _command = command; _category = category; var color = screenMenuItem.ButtonColor; if (string.IsNullOrEmpty(color)) color = category != null ? category.MenuItemButtonColor : "Green"; ButtonColor = color; }
private void OnFindMenuItemCommand(string obj) { var insertedData = GetInsertedData(NumeratorValue, 'x', '*'); var quantity = GetInsertedQuantity(NumeratorValue, 'x', '*'); NumeratorValue = ""; if (quantity > 0) { var weightBarcodePrefix = AppServices.SettingService.WeightBarcodePrefix; if (!string.IsNullOrEmpty(weightBarcodePrefix) && insertedData.StartsWith(weightBarcodePrefix)) { var itemLength = AppServices.SettingService.WeightBarcodeItemLength; var quantityLength = AppServices.SettingService.WeightBarcodeQuantityLength; if (itemLength > 0 && quantityLength > 0 && insertedData.Length >= itemLength + quantityLength + weightBarcodePrefix.Length) { var bc = insertedData.Substring(weightBarcodePrefix.Length, itemLength); if (!string.IsNullOrEmpty(AppServices.SettingService.WeightBarcodeItemFormat)) { int integerValue; int.TryParse(bc, out integerValue); if (integerValue > 0) { bc = integerValue.ToString(AppServices.SettingService.WeightBarcodeItemFormat); } } var qty = insertedData.Substring(weightBarcodePrefix.Length + itemLength, quantityLength); if (bc.Length > 0 && qty.Length > 0) { insertedData = bc; decimal.TryParse(qty, out quantity); } } } try { var mi = AppServices.DataAccessService.GetMenuItem(insertedData); if (mi != null) { var si = new ScreenMenuItem { MenuItemId = mi.Id, Name = mi.Name }; var data = new ScreenMenuItemData { ScreenMenuItem = si, Quantity = quantity }; _addMenuItemCommand.Execute(data); } } catch (Exception) { } } }
private void OnMenuItemSelected(ScreenMenuItem obj) { if (DataContext.SelectedTicket.IsLocked && !AppServices.IsUserPermittedFor(PermissionNames.AddItemsToLockedTickets)) { return; } decimal selectedMultiplier = 1; if (!string.IsNullOrEmpty(NumeratorValue)) { decimal.TryParse(NumeratorValue, out selectedMultiplier); } if (IsQuickNumeratorVisible) { NumeratorValue = QuickNumeratorValues[0]; } if (selectedMultiplier > 0) { if ((QuickNumeratorValues == null || selectedMultiplier.ToString() == QuickNumeratorValues[0]) && obj.Quantity > 1) { selectedMultiplier = obj.Quantity; } } var item = DataContext.SelectedTicket.AddNewItem(obj.MenuItemId, selectedMultiplier, obj.Gift, obj.DefaultProperties, obj.ItemPortion); if (item != null) { AddedMenuItems.Add(item); } if (obj.AutoSelect) { InvokeOnTicketItemSelected(item); } }
public ScreenMenuItemViewModel(IWorkspace workspace, ScreenMenuItem model) { Model = model; _workspace = workspace; }
public ScreenMenuItemViewModel(ScreenMenuItem model) { Model = model; }
private void FindMenuItem() { var insertedData = NumeratorValue; decimal quantity = 1; if (NumeratorValue.ToLower().Contains("x")) { insertedData = NumeratorValue.Substring(NumeratorValue.ToLower().IndexOf("x") + 1); var q = NumeratorValue.Substring(0, NumeratorValue.ToLower().IndexOf("x")); decimal.TryParse(q, out quantity); } NumeratorValue = ""; if (quantity <= 0) { return; } var weightBarcodePrefix = _settingService.ProgramSettings.WeightBarcodePrefix; if (!string.IsNullOrEmpty(weightBarcodePrefix) && insertedData.StartsWith(weightBarcodePrefix)) { var itemLength = _settingService.ProgramSettings.WeightBarcodeItemLength; var quantityLength = _settingService.ProgramSettings.WeightBarcodeQuantityLength; if (itemLength > 0 && quantityLength > 0 && insertedData.Length >= itemLength + quantityLength + weightBarcodePrefix.Length) { var bc = insertedData.Substring(weightBarcodePrefix.Length, itemLength); if (!string.IsNullOrEmpty(_settingService.ProgramSettings.WeightBarcodeItemFormat)) { int integerValue; int.TryParse(bc, out integerValue); if (integerValue > 0) { bc = integerValue.ToString(_settingService.ProgramSettings.WeightBarcodeItemFormat); } } var qty = insertedData.Substring(weightBarcodePrefix.Length + itemLength, quantityLength); if (bc.Length > 0 && qty.Length > 0) { insertedData = bc; decimal.TryParse(qty, out quantity); } } } var mi = _cacheService.FindMenuItemByBarcode(insertedData); if (mi != null) { var si = new ScreenMenuItem { MenuItemId = mi.Id, Name = mi.Name }; var data = new ScreenMenuItemData { ScreenMenuItem = si, Quantity = quantity }; data.PublishEvent(EventTopicNames.ScreenMenuItemDataSelected); } else { _applicationState.NotifyEvent(RuleEventNames.NumberpadValueEntered, new { Ticket = SelectedTicket, Value = insertedData }); } }