...
Design decisions for the sub-systems
USECASE 3
Het beheren van competitiegroepen werkt als volgt: Op het scherm voor competitiebeheer is rechts in beeld achter elke competitie een knop zichtbaar, gelabeld "Groepen". Door op deze knop te drukken wordt de gebruiker naar het groepen-beheerscherm gebracht. Vanuit hier kan de gebruiker nieuwe groepen aanmaken, of bestaande groepen aanpassen en verwijderen. De groepen binnen de geselecteerde competitie staan alfabetisch gelabeld in het midden van het scherm. Alle spelers staan in een tabel aan de linkerkant om toegevoegd te worden aan een competitiegroep.
Op het scherm voor het beheren van competities is een nieuwe knop toegevoegd die de gebruiker naar het scherm voor groepsbeheer van de desbetreffende groep brengt. Als een nieuwe competitie wordt aangemaakt worden (indien relevant) op basis van een standaard aantal een aantal groepen automatisch gegenereerd. Op dit scherm worden CRUD operaties met betrekking tot groepen verwerkt. De gebruiker kan de naam van de groep aangeven, waarna het systeem vervolgens een nieuwe GroupDTO zonder spelers aanmaakt en via de repository toevoegt aan de database.
USECASE 4
Op het scherm voor het beheren van groepen kunnen spelers aan groepen toegevoegd worden. Dit kan door een groep te selecteren uit de tabel in het midden van het beeld, waarna deze in de rechtertabel uitgebreid wordt weergegeven. Als de groep al spelers bevat worden deze in de rechtertabel afgebeeld. De gebruiker kan nu op de linkertabel op een speler drukken en vervolgens op de pijl naar rechts om deze naar de competitiegroep te verplaatsen. Dit werkt natuurlijk hetzelfde als er een speler uit de competitiegroep gehaald moet worden, dan kan de gebruiker in de rechtertabel een speler aanklikken en vervolgens op de pijl naar links klikken om de desbetreffende speler uit de groep te verwijderen.
Op dit scherm kan de gebruiker een of meerdere spelers van of naar groepen verplaatsen. Door op CRTL + Linker muisklik te drukken kunnen meerdere spelers geselecteerd worden. Aan de hand hiervan stuurt het systeem vervolgens ofwel een enkele of een lijst van DTO's naar de repository, die vervolgens de juiste functie uitvoert om de speler in de groep te zetten of deze eruit te verwijderen. In het geval dat de gebruiker meerdere spelers tegelijkertijd wil invoeren wordt aan de uit te voeren query steeds een nieuwe regel met spelerdata toegevoegd.