Twee jaar geleden heb ik een WK pool gemaakt in ASP.NET met LINQ to SQL als ‘test project’, om te kijken hoe LINQ to SQL in de praktijk te gebruiken is. Ik heb de sourcecode van de pool toen ook aangeboden via de blog. Inmiddels staat het Europees Kampioenschap voor de deur en is het weer tijd om te poolen!

Twee jaar geleden heb ik een WK pool gemaakt in ASP.NET met LINQ to SQL als ‘test project’, om te kijken hoe LINQ to SQL in de praktijk te gebruiken is. Ik heb de sourcecode van de pool toen ook aangeboden via de blog. Inmiddels staat het Europees Kampioenschap voor de deur en is het weer tijd om te poolen!
Update
Ook dit keer kun je de code en database weer downloaden. Inmiddels is LINQ to SQL wat achterhaald en zou je waarschijnlijk Entity Framework gebruiken. Wellicht is het ook een website waar MVC een goede methode zou zijn, maar de gebruikte technieken functioneren natuurlijk nog steeds prima en met wat aanpassingen is de WK pool gereed om als EK pool te functioneren. Er zijn wat wijzigingen wat betreft het aantal wedstrijden, het aantal rondes in de knock-out fase en daarmee ook de puntentelling. Verder wat kleine grafische aanpassingen, maar grotendeels is de code gelijk gebleven. Bekijk de code daarom ook niet meer als “voorbeeld van hoe het zou moeten”, maar als “geüpdate gebruiksvoorwerp”.
Functionaliteit van de pool
De applicatie maakt gebruik van de memberschip-functionaliteit van ASP.NET zodat gebruikers zich kunnen registreren en inloggen. Ik heb 2 rollen aangemaakt: 1 voor de gebruikers die meespelen in de EK pool en 1 voor de Admin. Gebruikers met een Admin rol kunnen naar de pagina’s in de 'admin folder’ waar de uitslagen van de wedstrijden in te vullen zijn.
In de database zit standaard 1 gebruiker: Admin met als password masterit
Deze gebruiker heeft uiteraard de admin rol en krijgt daarom 2 extra menu items om de wedstrijduitslagen in te kunnen vullen en voorspellingen in te kunnen vullen van mensen die hun voorspellingen op papier aanleveren.
Voor de spelers zijn er 2 belangrijke pagina's. Op de homepage staat de stand van de pool, ofwel de ranking van de gebruikers en het aantal punten dat ze gescoord hebben. Tevens kunnen gebruikers een bericht plaatsen, deze worden onder elkaar getoond. Op deze manier kan iedereen elkaar succes wensen, opjutten of andere berichten plaatsen die de spanning nog wat kan opvoeren.
De andere pagina is de pagina waar de gebruikers hun voorspellingen kunnen invoeren. Voor alle wedstrijden kan de gebruiker het aantal doelpunten voor en tegen opgeven. Daarnaast kan iedereen voorspellen welke landen er in de kwart-, halve- en hoofdfinale staan, en ziet men natuurlijk de winnaar van het EK. Daarnaast is er een veld voor wat open vragen zoals, ”wie wordt de topscorer van het toernooi”. Deze laatste vraag wordt niet automatisch berekend maar in de database kan er voor elke gebruiker een aparte score worden opgegeven!
Als een gebruiker de juiste uitslag voor een wedstrijd heeft voorspeld, dan krijgt hij 5 punten, als de winnaar goed is voorspeld, dan krijgt hij er 2. Deze scores zijn volledig instelbaar via de web.config, evenals de scores voor het voorspellen van de landen in de verschillende finales.
Het opzetten van de pool
Ten eerste zal je de Database up & running moeten krijgen. Je kunt hiervoor de database backup restoren op je SQL (Express) Server. Maak een login aan met de naam “ekpool” en koppel deze login aan de user “ekpool” in de database. SQL authenticatie moet ook aan staan uiteraard. In de source code zal je de connectiestrings naar de database moeten aanpassen zodat het juiste password gebruikt wordt en eventueel de juiste server naam. In Visual Studio 2010 open je een "existing" Website en selecteer je de map waarin de aspx pagina's staan. In de Web.config kun je dan de connection string aanpassen naar je database, en dan zou het moeten werken. Deployen kan op de gebruikelijke manieren "copy website tool" of "Precompiled website". Eventueel kun je de web.config ook gewoon aanpassen in Notepad ofzo en plaats vervolgens je code in IIS in een Application met “ASP.NET v4.0” als Application Pool. En je zou ‘good to go’ moeten zijn.
Open Source
Graag wil ik de source code aan iedereen aanbieden zodat je er zelf gebruik van kan maken , aanpassingen kan doen, tweaken, verbeteren enz. Je kunt de code en de database back-up hier gewoon downloaden, maar natuurlijk zou ik het wel super waarderen als je laat weten of je ’t ook daadwerkelijk hebt ingezet, welke aanpassingen je eventueel gemaakt hebt en wat er nog verbeterd zou kunnen worden.
Garantie
Deze pool is door mij gemaakt en net als alle andere software ontwikkelaars kan ook ik fouten maken. Als je gebruik maakt van deze code, test dan alles eventjes door en laat even weten wat je wellicht gevonden hebt.
Samengevat, ik ben dus nergens aansprakelijk voor ;-). Veel succes en veel plezier met de wedstrijden!
Download bestand Souce code MasteritPool2012.zip
Download bestand SQL database backup.zip
Download bestand SQL Server 2005 database script.zip