Ejemplo n.º 1
0
        private void OnMenuItemCommandExecute(ScreenMenuItem screenMenuItem)
        {
            decimal selectedMultiplier = 1;

            if (!string.IsNullOrEmpty(NumeratorValue) && !_filtered)
            {
                decimal.TryParse(NumeratorValue, out selectedMultiplier);
            }

            if (IsQuickNumeratorVisible)
            {
                NumeratorValue = QuickNumeratorValues[0];
            }

            NumeratorValue = "";

            if (selectedMultiplier > 0)
            {
                var data = new ScreenMenuItemData {
                    ScreenMenuItem = screenMenuItem, Quantity = selectedMultiplier
                };
                if (data.Quantity == 1 && screenMenuItem.Quantity > 1)
                {
                    data.Quantity = screenMenuItem.Quantity;
                }
                _addMenuItemCommand.Execute(data);
            }
        }
Ejemplo n.º 2
0
        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) { }
            }
        }