Пример #1
0
        private void ApplyDiscount()
        {
            TicketDiscount result = null;

            FormattedListBoxItem selectedItem =
                (FormattedListBoxItem)listBoxAvailable.SelectedItem;
            Discount discount = (Discount)selectedItem.ReferenceObject;

            bool hasPermission = (!discount.RequiresPermission ||
                                  SessionManager.ActiveEmployee.HasPermission(Permissions.RegisterDiscounts));

            if (!hasPermission &&
                (PosHelper.GetPermission(Permissions.RegisterDiscounts) == null))
            {
                PosDialogWindow.ShowDialog(
                    Types.Strings.YouDoNotHavePermissionToApplyThisDiscount,
                    Types.Strings.PermissionDenied);
                return;
            }

            if (discount.Amount == null)
            {
                double?amount = discount.AmountIsPercentage ?
                                PosDialogWindow.PromptPercentage(this, Types.Strings.EnterDiscountPercentage, null) :
                                PosDialogWindow.PromptNumber(Types.Strings.EnterDiscountAmount, (double?)null);
                if (amount != null)
                {
                    result = TicketDiscount.Add(discount.Id, SelectedTicket.PrimaryKey,
                                                amount.Value, SessionManager.PseudoEmployeeId);
                }
            }
            else
            {
                result = TicketDiscount.Add(discount.Id, SelectedTicket.PrimaryKey,
                                            null, SessionManager.PseudoEmployeeId);
            }

            if (result != null)
            {
                listBoxAvailable.SelectedItem = null;
                listBoxAvailable.Items.Remove(selectedItem);

                listBoxApplied.Items.Add(selectedItem);
                listBoxApplied.SelectedItem = selectedItem;
            }
        }