Vous êtes sur la page 1sur 3

Royaume du Maroc

Office de la Formation Professionnelle Et de la Promotion du Travail


Direction rgionale Nord Ouest I
ISTA Hay Riad

Examen de Fin de Module / Programmation Client/Serveur


Filire : TDI

Dure : 3h

Barme / 50 pts.

Une picerie souhaite disposer d'une application informatique pour la gestion de ses tches quotidiennes.
L'analyse nous a conduit produire la base de donnes suivante :

Produit (RfrencePro, DsignationPro, PUPro, QtStock)

Client (NumClient, NomClient, PrnomClient, TypeClient)

Fournisseur(CodeFou, RaisonSocialeFou, AdresseFou)

Vente(NumVente, DateVente, NumClient, Pay)

ProduitsVendus(NumVente, RfrencePro, QtVendue)

Entres(NumEntre, DateEntre, QtEntre, RfrencePro, CodeFou)


Rq : Pay prent 0 (false) ou 1(true)
Utilisation Provider................................................................................................................................... 4pts
Utilisation App.config............................................................................................................................... 1 pt
1. Fentre FrmEntreeProduits : Permet d'enregistrer une entre en stock d'un produit :

En cliquant sur le bouton "Rechercher Produit", lapplication demande de saisir une rfrence
produit et affiche les informations sur ce produit dans les zones correspondantes

Dans une zone de liste modifiable, l'utilisateur peut choisir la raison sociale du fournisseur
concern (attention cest le code et non la raison sociale qui est stock dans la table entre)

La zone "Date Entre" doit prendre par dfaut la date du jour

Le bouton "Enregistrer Entre" permettra :

De vrifier la saisie (le produit et le fournisseur doivent obligatoirement tre slectionns


et la quantit livre est toujours >0)

D'enregistrer l'entre

De mettre jour le stock pour le produit concern


Rq : Si lopration de mise jour choue, lopration denregistrement de lentre doit tre annule
et vice versa
Ecrire les codes associer aux procdures vnementielles suivantes :
a.FrmEntreeProduits_Load.....................................................................................................2 pts
b.BtnRechercherProduit_Click...............................................................................................3 pts
c.Btn_enregistrerEntree _Click..............................................................................................6 pts

2. La fentre "FrmGestionProduits" : Permet de grer les produits en dconnect, de transfrer ensuite


les modifications vers la base de donnes, de srialiser les donnes vers un fichier XML et
ventuellement de les rcuprer partir de ce fichier XML :
EFM / Programmation Client / Serveur / Gpe A et B

Le bouton Crer permet dajouter un nouveau produit


Le bouton Modifier permet dapporter des modifications au produit en cours
Le bouton Supprimer permet de supprimer le produit en cours
La premire liste affiche la liste des produits. En slectionnant un produit dans la liste, les
informations sur le produit saffichent dans les zones ct
Les boutons en bas de la liste permettent de naviguer entre les produits(Premier, Prcdent,
Suivant, Dernier)
La deuxime liste affiche la liste des entres concernant le produit en cours. Donnez deux
rponses : En exploitant un DataView et en exploitant la proprit getChildRows dun dataRow
Le bouton Mettre jour la BD envoie les modifications apportes en local la BD
Les bouton Srialiser vers un fichier XML envoie les informations vers un fichier XML
GestionPro.XML et le Schma vers un fichier GestionProScema.xsd . Il est important de
garder une trace des diffrents tats de ligne dans le fichier xml
Le bouton Rcuprer partir dun fichier XML permet de charger un nouveau dataset partir du
fichier xml

Ecrire les codes associer aux procdures vnementielles suivantes :


a.FrmGestionProduits_Load...................................................................................................2 pts
b.BtnCrer_Click....................................................................................................................2 pts
c.BtnModifier_Click : Si vous avez choisi la technique du DataBinding laisser cette procdure
vide...................................................................................................................................2 pts
d.BtnSupprimer_Click............................................................................................................2 pts
e.DataGridProduit_Click : Si vous avez choisi la technique du DataBinding laisser cette
procdure vide..................................................................................................................2 pts
f.BtnPremier_Click..................................................................................................................2 pt
g.BtnPrecedent_Click.............................................................................................................2 pts
h.BtnSuivant_Click................................................................................................................2 pts
i.BTnDernier_Click..................................................................................................................2 pt
j.TxtReferencePro_TextChanged : Pour afficher la liste des entres dun produit dans la
deuxime liste...................................................................................................................4 pts
k.BtnMajBD_Click.................................................................................................................2 pts
l.BtnSerialiser_Click..............................................................................................................4 pts
m.BtnDeSerialiser_Click........................................................................................................2 pts
3. La fentre "FrmListeImpayes" : Permet dimprimer directement la liste des impays dun client donn
au cours dune priode donne :
EFM / Programmation Client / Serveur / Gpe A et B

Le bouton Imprimer lance une impression directe dun tat affichant les impays pour le client
choisi (CmbClient) entre une date D1 (TxtD1) et une date D2 (TxtD2).
Ltat de sortie (RptImpayes) utilise le DataSet typ DST ayant la structure suivante :

La formule de slection des enregistrements pour RptImpayes est la suivante :


{Vente.NumClient}={?P1} and {Vente.datevente} >= {?P2} and {Vente.DateVente}<={?P3}

Ecrire les codes associer aux procdures vnementielles suivantes :


a.FrmBtnImprimer_Click.......................................................................................................4 pts
Annexes :
Public Interface IDataProvider
Function getConnection(ByVal ConnectionString As String) As IDbConnection
Function getCommand() As IDbCommand
Function getParameter() As IDbDataParameter
Function getDataAdapter() As Common.DbDataAdapter
End Interface
Public Class DataProviderFactory
Public Shared Function getInstance() As DataProvider
Return getInstance("default")
End Function
Public Shared Function getInstance(ByVal Fournisseur As String) As DataProvider
Dim DP As DataProvider
Select Case Fournisseur.ToLower
Case "sql"
DP = New DataProviderSQL
Case "oledb"
DP = New DataProviderOledb
Case "default"
DP = New DataProviderSQL
End Select
Return DP
End Function
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
</configSections>
<connectionStrings>
<add name="WindowsApplication1.My.MySettings.VideoClubConnectionString"
connectionString="Data Source=PCNAOUAL;Initial Catalog=Epicerie;Integrated
Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
<appSettings>
<add key="Chaine" value="Server=PCNaoual;Integrated security=SSPI;Initial
catalog=Epicerie"/>
</appSettings>

EFM / Programmation Client / Serveur / Gpe A et B