ASP.Net
Tijdens deze labo's gaan we een website voor een winkel ontwikkelen. Als databank voor de website gebruik je deze uit vorige ADO.Net labo's.
Datalaag
Voor het aanspreken van de databank maak je gebruik van volgende dll's en configuratie gegevens:
Voorbeeld gebruik datalaag:
Je kan de datalaag als volgt gebruiken:
ProductbeheerInterfaces.IDataStorage databank = new ProductbeheerBo.DataAdapterDataStorage();
DataSet d = databank.getDataSet("offices"); //krijg je een dataset met alle offices
databank.updateDataSet(d,"offices"); //Voert alle aanpassingen aan de dataset met offices uit op databank.
Website deel 1:
Open Visual Studio en kies File->New->Website en maak een Asp.Net met de naam WebWinkel. Voeg aan je project de twee vorige dll's toe als References.
Kopieer ook alle configuratie-gegevens uit de app-config en plaats ze in het juiste configuratie-bestand.
Aanmaken DataAdapterDataStorage-object
Maak een DataAdapterDataStorage-object aan en zorg er voor dat het slecht één maal aangemaakt wordt en zichtbaar is voor alle pagina's in de applicatie.
Offices.aspx
Maak de pagina offices.aspx waarmee een gebruiker een nieuw office kan toevoegen aan de databank.De vorm van de pagina kan je hier vinden.
Zorg er voor dat alle verplichte velden (zie tabel offices in datank) moeten ingevuld worden. Je hoeft nog niet te controleren op geldigheid van de waarden.
Het toevoegen van het office gebeurt wanneer op de knop geklikt wordt. Wanneer het invoegen lukt kom je opnieuw op deze pagina maar zijn de velden leeg.
Wanneer het toevoegen mislukt zijn de velden bij terugkeren niet leeg.
Customers.aspx
Maak de pagina customers.aspx waarmee een gebruiker een nieuwe customer kan toevoegen aan de databank.De vorm van de pagina kan je hier vinden.
Zorg er voor dat alle verplichte velden (zie tabel customers in datank) moeten ingevuld worden. Je hoeft nog niet te controleren op geldigheid van de waarden.
Het toevoegen van de customer gebeurt wanneer op de knop geklikt wordt. Wanneer het invoegen lukt kom je opnieuw op deze pagina maar zijn de velden leeg.
Wanneer het toevoegen mislukt zijn de velden bij terugkeren niet leeg.
Employees.aspx
Maak de pagina employees.aspx waarmee een gebruiker een nieuw employee kan toevoegen aan de databank.De vorm van de pagina kan je hier vinden.
Zorg er voor dat alle verplichte velden (zie tabel employees in datank) moeten ingevuld worden. Je hoeft nog niet te controleren op geldigheid van de waarden.
Het toevoegen van de employee gebeurt wanneer op de knop geklikt wordt. Wanneer het invoegen lukt kom je opnieuw op deze pagina maar zijn de velden leeg.
Wanneer het toevoegen mislukt zijn de velden bij terugkeren niet leeg.
Products.aspx
Maak de pagina products.aspx waarmee een gebruiker een nieuw product kan toevoegen aan de databank.De vorm van de pagina kan je hier vinden.
Zorg er voor dat alle verplichte velden (zie tabel products in datank) moeten ingevuld worden. Je hoeft nog niet te controleren op geldigheid van de waarden.
Het toevoegen van de ingevulde waarden gebeurt wanneer op de knop geklikt wordt. Wanneer het invoegen lukt kom je opnieuw op deze pagina maar zijn de velden leeg.
Wanneer het toevoegen mislukt zijn de velden bij terugkeren niet leeg.
Payments.aspx
Maak de pagina payments.aspx waarmee een gebruiker een nieuw payment kan toevoegen aan de databank.De vorm van de pagina kan je hier vinden.
Zorg er voor dat alle verplichte velden (zie tabel payments in datank) moeten ingevuld worden. Je hoeft nog niet te controleren op geldigheid van de waarden.
Het toevoegen van de ingevulde waarden gebeurt wanneer op de knop geklikt wordt. Wanneer het invoegen lukt kom je opnieuw op deze pagina maar zijn de velden leeg.
Wanneer het toevoegen mislukt zijn de velden bij terugkeren niet leeg.
WebSite deel 2:
Validatie
Pas je webpagina's aan zodat er kan gecontroleerd worden op de geldigheid van de ingevoerde waarden. Zorg ook voor de controle van de lengte van alle velden.
Kijk voor de juiste lengte van de velden in de databank.
Customers.aspx
- CreditLimit: een double tussen 0 en 1000000.
Employees.aspx
- E-mail: controleer op de correctheid.
Offices.aspx
Geen extra validatie
Products.aspx
- QuantityInStock: een integer tussen 0 en 20000.
- BuyPrice: een double tussen 0 en 50000.
- MSRP: een double tussen 0 en 100000.
- ProductScale: is van de vorm 1:XXXX (xxxx zijn een aantal getallen)
Payments.aspx
- Amount: een double tussen 0 en 1000000.
UserControl
Maak een Web user control voor het zoeken van items (customers,products,payments,employees en offices) op basis van een aantal zoekvelden,
een criteria en een waarde.
In dit voorbeeld zie je :
- de dropdownlist met zoekvelden, deze dropdownlist wordt opgevuld met de kolommen uit de dataset van de gevraagde items.
- de dropdownlist criteria, dit is een vaste lijst en deze ziet er als volgt uit:
- Het tekstveld waarde
Wanneer de pagina de eerste maal wordt geladen krijg je onderaan de lijst van alle items te zien.
Als een gebruiker zoek naar bijvoorbeeld "customerNumber = 121" dan verschijnen onderaan alle items die voldoen aan deze query.
Bij het zoeken naar een onmogelijk combinatie bijvoorbeeld "customNumber = tt" dan verschijnt bovenaan een foutboodschap en is onderaan terug een lijst van alle items te zien.
Voor het filteren van de gegevens uit een dataset kan je hier voorbeelden vinden.
Zorg ook voor paginering indien er meer dan 10 items op een pagina staan.
Website deel 3:
Menu
Maak een menu dat verschijnt bovenaan iedere pagina van de applicatie. De vorm van het menu wordt bepaald door welke gebruiker er is ingelogd, er zijn twee mogelijke
gebruikers:
Wanneer een employee inlogt ziet het menu er als volgt uit:
Bij het selecteren van een menuitem zullen andere items zichtbaar worden die bij aanklikken een pagina openen.
De structuur is als volgt:
- Customers
- Add: Customers.aspx
- List: usercontrol met Customers
- Employees
- Add: Employees.aspx
- List: usercontrol met Employees
- Offices
- Add: Offices.aspx
- List: usercontrol met Offices
- Orders
- List: usercontrol met orders
- Payments
- Add: Payments.aspx
- List: usercontrol met Payments
- Products
- Add: Products.aspx
- List: usercontrol met Products
Als er een customer is ingelogd zal het menu er als volgt uitzien:
De structuur is dan als volgt:
- Products
- List: usercontrol met Products
- Orders
- List: lijst van eigen Orders
- Winkelwagentje
- Toon: Winkelwagentje.aspx
Sjabloon
Maak een sjabloon die geldt voor iedere pagina binnen de applicatie.
De vorm van het sjabloon is als volgt:
Zoals te zien in de figuur verschijnt op iedere pagina het menu, die menu zal natuurlijk verschillen indien je een customer bent of een employee. Onderaan verschijnt de pagina die jij gekozen hebt.
Beveiliging
Maak een Login.aspx pagina die er als volgt uitziet:
Bovenaan de pagina staat een dropdownlist met twee keuzes, nl. employee en customer. Deze keuze bepaalt of je inlogt als employee of customer.
Nadien staat de gewone logincomponent van Asp.Net.
Bij het veranderen van de keuze employee naar customer (of omgekeerd) dient de logincomponent te worden aangepast.

Bij het klikken op de knop aanmelden kom je, indien het EmployeeNumber/CustomerNumber bestaat en het wachtwoord klopt (wachtwoord == Employeenumber/CustomerNumber),
terecht op het employee/customer gedeelte van je applicatie.
Pas nu je sjabloon aan zodat het er als volgt uitziet:
Tip: gebruiker de componenten: LoginName en Loginstatus.
Test ook uit of je niet op de beveiligde pagina's kan zonder dat je ingelogd bent.
Zoeken orders en Order.aspx
Pas je usercontrol aan zodat bij orders deze er als volgt uitziet:

Wanneer je op de link selecteer klikt kom je op de pagina order.aspx terecht waar je de gegevens van een order te zien krijgt en indien nodig kan het order beperkt aangepast worden.

Het aanpassen van een order kan enkel wanneer het order nog niet de status Shipped heeft. De enige twee waarden die kunnen veranderen zijn comments en status.
Mogelijke statussen:
- Shipped
- On Hold
- Resolved
- Cancelled
- Disputed
- In Process
De shippeddate zal automatisch op de huidige datum van vandaag geplaatst worden bij selecteren van shipped.
Website deel 4
Customers Orders
Wanneer een customer op de link Orders->List klikt krijgt hij een overzicht te zien van zijn eigen orders. De pagina zal er als volgt uitzien.
Customers products
Zorg er voor dat wanneer een customer op de link Products->List klikt, hij op volgende pagina terechtkomt.
Bij het selecteren van een product kom dit product onmiddelijk in je winkelwagentje terecht en krijg je dit ook te zien in de webpagina.
Winkelwagentje
Maak een pagina winekelwagentje.aspx die er als volgt uitziet.
Een gebruiker kan verschillende producten toevoegen aan zijn winkelwagentje, pas wanneer hij op "Voeg Order Toe" klikt zal het order in de databank geplaatst worden. De customer kan ook de verschillende producten van zijn order nog gaan verwijderen of editeren.
Zorg bij het bewerken voor een foutopvang (hoeveelheid moet worden ingevuld en hoeveelheid moet een geheel getal zijn enz...).
Voor het toevoegen van een order en de orderdetails aan de databank maak je gebruik van de methode updateOrder(orders, orderdetails) van de interface IDataStorage. Voor het opbouwen van een order vul je volgende waarden in:
- orderNumber: overloop de dataset en zoek een vrij nummer.
- orderDate: datum van vandaag.
- requiredDate: haal je van de webpagina.
- shippedDate: leeg
- status: "In Process"
- comments: leeg
- customerNumber: nummer van de ingelogde persoon die het order plaatst.
De waarden van orderdetails zijn als volgt:
- orderNumber: nummer van het order waar het orderdetail bijhoort
- productCode: code van het gekozen product.
- quantityOrdered: haal je op van de webpagina.
- priceEach: is de waarde MSRP die je in de details van het gekozen product kan vinden.
- orderLineNumber: bepaal je door te tellen de hoeveelste lijn dit in het order is.
Afgeven
Plaats je oplossing in de directory netwerken2/Asp van je U:-drive voor woensdag 9/12/2009 om 18u.
Mogelijke oplossing
Een mogelijke oplossing kan je hier vinden.
[an error occurred while processing this directive]
|