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.
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:
FOUT: [bedrag] moet hoger zijn dan 0.
FOUT: [bedrag] is geen veelvoud van 100.
FOUT: er werd reeds ingetekend via rijksregisternummer
Indien aan alle voorwaarden is voldaan, wordt de intekening geregistreerd in het register en retourneert de functie True.
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.
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.
Definieer de functie totaal_ingetekend. Deze functie retourneert het totale bedrag waarvoor tot nu toe werd ingetekend.
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
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.