M112 Verkoop met terugname

M112 Verkoop en terugname van producten

In de BAR wordt een deel terugbetaald:

  • terugname van 1 Dry Martini van 12 EUR, VAT code A
  • verkoop van 1 Burger of the Chef van 15 EUR, VAT code B

Dit order wordt verder cash betaald.

C#
        
        //Create the correct action according to the example
        var newSalesAction = new PosSalesAction(
            FpsFinancesModels.Company,
            _myFpsPos,
            FpsFinancesModels.TerminalTer1Bar,
            FpsFinancesModels.EmployeeElisa)
        {
            TicketMedium = TicketMedium.PAPER,
            SalesActionNumber = 1002,
            BookingDate = DateTime.Now,
            BookingPeriodId = Guid.Parse("dffcd829-a0e5-41ca-a0ae-9eb887f95637"),
            CheckboxReference = new CheckboxSignReference
            {
                Checkbox = FpsFinancesModels.Checkbox01,
                DateTime = DateTime.Now,
                Eventlabel = EventLabel.N,
                EventCounter = 1000,
                TotalCounter = 1200
            },
            TransactionLines =
            [
                new RefundLine(TransactionLineType.SINGLE_PRODUCT, 1, FpsFinancesModels.ProdDryMartini),
                new SaleLine(TransactionLineType.SINGLE_PRODUCT, 1, FpsFinancesModels.ProdBurgerOfTheChef)
            ],
            Payments =
            [
                new Payment
                {
                    Id = "1",
                    Name = "CONTANT",
                    Type = PaymentType.CASH,
                    InputMethod = InputMethod.MANUAL,
                    Amount = 16,
                    AmountType = PaymentLineType.PAYMENT
                }
            ]
        };

        //Sign the action
        var result = await checkboxService.SignPosAction(newSalesAction, false, null, cancellationToken);

        //Handle the result accordingly
        Console.WriteLine($"Result with Signature {result.SignResult?.DigitalSignature}");