Drop Down MenusCSS Drop Down MenuPure CSS Dropdown Menu

mercredi 11 juin 2014

Examen de Fin de Module / Programmation Client/Serveur ISTA Hay Riad

6/11/2014 09:55:00 AM Posted by Ahmed

EFM ADO.NET


Examen de Fin de Module / Programmation Client/Serveur

http://tdiway.blogspot.com/

Filière : TDI                                                       Durée : 3h                                                  Barème / 50 pts.

Une épicerie souhaite disposer d'une application informatique pour la gestion de ses tâches quotidiennes. L'analyse nous a conduit à produire la base de données suivante :
·          Produit (RéférencePro, DésignationPro, PUPro, QtéStock)
·          Client (NumClient, NomClient, PrénomClient, TypeClient)
·          Fournisseur(CodeFou, RaisonSocialeFou, AdresseFou)
·          Vente(NumVente, DateVente, NumClient, Payé)
·          ProduitsVendus(NumVente, RéférencePro, QtéVendue)
·          Entrées(NumEntrée, DateEntrée, QtéEntrée, RéférencePro, CodeFou)

Rq : Payé prent 0 (false) ou 1(true)
Utilisation Provider................................................................................................................................... 4pts
Utilisation App.config.............................................................................................................................. 1 pt
1.      Fenêtre FrmEntreeProduits : Permet d'enregistrer une entrée en stock d'un produit :

·          En cliquant sur le bouton "Rechercher Produit", l’application demande de saisir une référence 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 c’est le code et non la raison sociale qui est stocké dans la table entrée)
·          La zone "Date Entrée" doit prendre par défaut la date du jour
·          Le bouton "Enregistrer Entrée" permettra :
S  De vérifier la saisie (le produit et le fournisseur doivent obligatoirement être sélectionnés et la quantité livrée est toujours >0)
S  D'enregistrer l'entrée
S  De mettre à jour le stock pour le produit concerné
Rq : Si l’opération de mise à jour échoue, l’opération d’enregistrement de l’entrée doit être annulée et vice versa
Ecrire les codes à associer aux procédures événementielles suivantes :
a.       FrmEntreeProduits_Load................................................................................................. 2 pts
b.      BtnRechercherProduit_Click........................................................................................... 3 pts
c.       Btn_enregistrerEntree _Click........................................................................................... 6 pts
2.      La fenêtre "FrmGestionProduits" : Permet de gérer les produits en déconnecté, de transférer ensuite les modifications vers la base de données, de sérialiser les données vers un fichier XML et éventuellement de les récupérer à partir de ce fichier XML :


·          Le bouton Créer permet d’ajouter un nouveau produit
·          Le bouton Modifier permet d’apporter des modifications au produit en cours
·          Le bouton Supprimer permet de supprimer le produit en cours
·          La première liste affiche la liste des produits. En sélectionnant un produit dans la liste, les informations sur le produit s’affichent dans les zones à côté
·          Les boutons en bas de la liste permettent de naviguer entre les produits(Premier, Précédent, Suivant, Dernier)
·          La deuxième liste affiche la liste des entrées concernant le produit en cours. Donnez deux réponses :  En exploitant un DataView et en exploitant la propriété getChildRows d’un dataRow
·          Le bouton Mettre à jour la BD envoie les modifications apportées en local à la BD
·          Les bouton Sérialiser vers un fichier XML envoie les informations vers un fichier XML « GestionPro.XML » et le Schéma vers un fichier « GestionProScema.xsd » .  Il est important de garder une trace des différents états de ligne dans le fichier xml
·          Le bouton Récupérer à partir d’un fichier XML permet de charger un nouveau dataset à partir du fichier xml

Ecrire les codes à associer aux procédures événementielles suivantes :
a.       FrmGestionProduits_Load............................................................................................... 2 pts
b.      BtnCréer_Click................................................................................................................ 2 pts
c.       BtnModifier_Click : Si vous avez choisi la technique du DataBinding laisser cette procédure vide.......................................................................................................................................... 2 pts
d.      BtnSupprimer_Click......................................................................................................... 2 pts
e.       DataGridProduit_Click : Si vous avez choisi la technique du DataBinding laisser cette procédure 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 entrées d’un produit dans la deuxième liste.......................................................................................................................................... 4 pts
k.      BtnMajBD_Click............................................................................................................. 2 pts

l.        BtnSerialiser_Click........................................................................................................... 4 pts
m.    BtnDeSerialiser_Click...................................................................................................... 2 pts

3.      La fenêtre "FrmListeImpayes" : Permet d’imprimer directement la liste des impayés d’un client donné au cours d’une période donnée :

·          Le bouton Imprimer lance une impression directe d’un état affichant les impayés pour le client choisi (CmbClient) entre une date D1 (TxtD1) et une date D2 (TxtD2).
·          L’état de sortie (RptImpayes) utilise le DataSet typé DST ayant la structure suivante :
·          La formule de sélection des enregistrements pour RptImpayes est la suivante :
{Vente.NumClient}={?P1} and {Vente.datevente} >= {?P2} and {Vente.DateVente}<={?P3}

Ecrire les codes à associer aux procédures événementielles 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>