private void OnMergedItemSelected(MergedItem obj) { if (obj.RemainingQuantity > 0) { decimal quantity = 1; if (GetTenderedValue() > 0) quantity = GetTenderedValue(); if (quantity > obj.RemainingQuantity) quantity = obj.RemainingQuantity; _selectedTotal += obj.Price * quantity; if (_selectedTotal > SelectedTicket.GetRemainingAmount()) _selectedTotal = SelectedTicket.GetRemainingAmount(); PaymentAmount = _selectedTotal.ToString("#,#0.00"); TenderedAmount = ""; _resetAmount = true; obj.IncQuantity(quantity); } ReturningAmountVisibility = Visibility.Collapsed; }
private void CreateMergedItem(decimal sum, Order item, decimal serviceAmount) { var price = item.GetItemPrice(); price += (price * serviceAmount) / sum; if (!item.TaxIncluded) price += item.TaxAmount; var mitem = MergedItems.SingleOrDefault(x => x.MenuItemId == item.MenuItemId && x.Price == price); if (mitem == null) { mitem = new MergedItem(); try { mitem.Description = item.MenuItemName + item.GetPortionDesc(); mitem.Price = price; mitem.MenuItemId = item.MenuItemId; MergedItems.Add(mitem); } finally { mitem.Dispose(); } } mitem.Quantity += item.Quantity; }