OPGELET: De testen worden pas toegevoegd na het examen. Momenteel wordt enkel getest of je code compileert.

De staatsbon uitgave in de zomer van 2023 was een enorm succes. In het totaal werd er voor 22,3 miljard euro ingetekend op de staatsbon. Het intekenen voor de staatsbon kon zowel via de eigen bank maar ook via een beveiligde site van de overheid. Onderstaande opgave bevat een aantal backend functies die nodig zijn om deze site te doen werken.

Globale variabelen - 1 punt

Intekenen Staatsbon - 2 punten

Definieer een functie intekenen_staatsbon met als parameters een bedrag, een rijksregisternummer en het rekeningnummer waarop bedrag + interest moet terugbetaald worden. De functie zal de intekening registreren in de register variabele indien:

Indien aan alle voorwaarden is voldaan, wordt de intekening geregistreerd in het register en retourneert de functie True.

Opvragen ingetekend bedrag - 1 punt

Definieer een functie ingetekend_bedrag met als parameter een rijksregisternummer. De functie retourneert het bedrag waarvoor werd ingetekend door het opgegeven rijksregisternummer. Indien geen intekening wordt gevonden retourneert de methode 0.

Betalingsuitnodiging - 2 punten

Na een intekening wordt via mail een betalingsuitnodiging gestuurd. De tekst van deze mail wordt samengesteld door de functie betalingsuitnodiging. Deze methode heeft als parameter een rijksregisternummer en retourneert de volgende tekst:

Het bedrag dient ten laatste op 01/09/2023 op onze rekening te staan.
    
    IBAN : [IBAN_overheid] (BIC : [BIC_overheid])
    op naam van de Dienst van de Grootboeken, Kunstlaan 30 te 1040 Brussel.
    Bedrag : [bedrag] EUR
    met de mededeling : Aankoop Staatsbon [rijksregisternummer]

Je mag er bij deze functie vanuit gaan dat er intekening voor het opgegeven rijksregisternummer werd toegevoegd.

Totaal ingetekend bedrag - 1 punt

Definieer de functie totaal_ingetekend. Deze functie retourneert het totale bedrag waarvoor tot nu toe werd ingetekend.

Register wegschrijven naar csv - 2 punten

Definieer een methode register_to_csv met als parameters een bestandsnaam en scheidingsteken met als default waarde “;”. Deze methode zal de Dictionary gekoppeld aan de register variabele wegschrijven naar een csv bestand:

rijksregisternummer;bedrag;tijdstip;rekeningnummer
78.06.28-111.64;1000000;2023-09-05 10:14:29.056256;BE98 1111 1111 1111
55.04.23-456.64;20000;2023-09-05 10:14:29.056535;BE77 2222 2222 2222
07.05.12-678.11;2000;2023-09-05 10:14:29.056537;BE78 3333 3333 3333

Main methode - 1 punt

Voeg een main methode toe die de verschillende functies test. Zorg ervoor dat er minimum drie intekeningen zijn toegevoegd, de betalingsuitnodiging van 1 van de intekeningen wordt weergegeven in de console en het totaal van de intekeningen wordt weergegeven.

Tips: