IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET MVC Discussion :

Enregistrement d'une commande


Sujet :

ASP.NET MVC

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    249
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 249
    Points : 111
    Points
    111
    Par défaut Enregistrement d'une commande
    Bonjour,
    je suis entrain de m'entrainer au développement avec ASP .NET MVC avec le développement d'une application qui permet d'enregistrer les commandes fournisseurs seulement.
    Pour ce faire, j'ai créer 3 tables: Fournisseur, Produit, Commande, Ligne_Commande et voici le schéma de ces tables:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    CREATE TABLE [dbo].[Fournisseur](
    	[Fournisseur_id] [int] IDENTITY(1,1) NOT NULL,
    	[Fournisseur_ref] [nvarchar](20) NOT NULL,
    	[Fournisseur_raison] [nvarchar](50) NULL,
    	[Fournisseur_adresse] [nvarchar](50) NULL,
     CONSTRAINT [PK_Fournisseur] PRIMARY KEY CLUSTERED 
    (
    	[Fournisseur_id] ASC
    )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY],
     CONSTRAINT [Fournisseur_reference] UNIQUE NONCLUSTERED 
    (
    	[Fournisseur_ref] ASC
    )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
    ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    CREATE TABLE [dbo].[Produit](
    	[Produit_id] [bigint] IDENTITY(1,1) NOT NULL,
    	[Produit_ref] [nvarchar](20) NOT NULL,
    	[Produit_LIbelle] [nvarchar](max) NOT NULL,
    	[Produit_description] [ntext] NOT NULL,
    	[Produit_codeBare] [nvarchar](10) NULL,
    	[Produit_photo] [image] NULL,
    	[Produit_stockMini] [int] NULL,
     CONSTRAINT [PK_Produit] PRIMARY KEY CLUSTERED 
    (
    	[Produit_id] ASC
    )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
    ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    CREATE TABLE [dbo].[COMMANDE](
    	[ID_CDE] [bigint] IDENTITY(1,1) NOT NULL,
    	[Reference] [nvarchar](50) NOT NULL,
    	[DateCDE] [date] NOT NULL,
    	[RefFournisseur] [int] NOT NULL,
     CONSTRAINT [PK_ENTREE] PRIMARY KEY CLUSTERED 
    (
    	[IDCDE] ASC
    )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
    ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    CREATE TABLE [dbo].[Ligne_Commande](
    	[IDLigne] [bigint] IDENTITY(1,1) NOT NULL,
    	[IDCDE] [bigint] NOT NULL,
    	[RefProduit] [bigint] NOT NULL,
    	[Designation] [nvarchar](max) NOT NULL,
    	[Qte] [bigint] NOT NULL,
    	[PA] [numeric](10, 2) NOT NULL,
     CONSTRAINT [PK_Ligne] PRIMARY KEY CLUSTERED 
    (
    	[IDLigne] ASC
    )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
    ) ON [PRIMARY]
    Notons que dans la table Ligne_Commande, les champs:
    • IDCDE référence le champ ID_CDE de la table commande
    • RefProduit référence le champ Produit_id de la table Produit
    • Designation référence le champ Libelle de la table Produit
    • RefFournisseur référence le champ Fournisseur_ref de la table Fournisseur


    Voila, j'arrive à enregistrer avec le MVC en créant des vues les tables Produit, Fournisseur mais j'arrive pas à combiner mes tables Commande, Ligne_Commande sur des vues (create, edit, delete, list). Voir image ci-joint pour le modèle souhaité pour l'enregistrement.
    Images attachées Images attachées  

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par SOPSOU Voir le message
    Voila, j'arrive à enregistrer avec le MVC en créant des vues les tables Produit, Fournisseur mais j'arrive pas à combiner mes tables Commande, Ligne_Commande sur des vues (create, edit, delete, list). Voir image ci-joint pour le modèle souhaité pour l'enregistrement.
    Que veux-tu dire par combiner ? Faire la jointure entre tes deux tables ? En parlant de vue, s'agit-il d'une vue au sens T-SQL ou ASP.MVC ? C'est un peu confus.

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    249
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 249
    Points : 111
    Points
    111
    Par défaut
    Bonjour,
    Actuellement à faire un enregistrement+modification + suppression dans une table en utilisant une vue + controllers.
    J'utilise le MVC pour développer.
    En prenant par exemple la table Produit, j'ai crée un controleur nommé ProduitController.CS et dans ce controller (public class ProduitController: Controller), j'implémente:
    public ActionResult Index (): Qui m'envoies la liste des produits de ma table.
    Sur chaque ligne renvoyée, nous pouvons la modifier avec public ActionResult Edit(), la voir plus en détails avec public ActionResult Details(), la supprimer avec public ActionResult Delete(). En plus de cela un bouton existe sur cette vue pour permettre l'ajout d'un nouveau produit.
    Et j'arrive à gérer cela sans inquiétude.

    Maintenant, je veux gérer les entrées/sorties en magasin.
    Par exemple, si je prends l'entrée en magasin, cette fiche fait appelle à la table Produit, Fournisseur, Commande & Ligne_Commande (voir image jointe au premier message).
    Comment réaliser cette fiche en appliquant la même méthode que j'ai fait avec Produit plus haut: Avoir en premier entrée la liste des commandes, pouvoir créer une commande en respectant la maquette (image) jointe au premier message.

  4. #4
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    249
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 249
    Points : 111
    Points
    111
    Par défaut
    Bonjour,
    Je repose (reformule) mon problème en demandant: Comment créer un Modèle sur plusieurs tables de sorte que la vue soit sun combiné de des éléments de ces table (Table COMMANDE, Produit, Fournisseur, Ligne Commande)?
    Si j'arrive à faire ca, mon problème est resolu à 88%/.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par SOPSOU Voir le message
    Bonjour,
    Je repose (reformule) mon problème en demandant: Comment créer un Modèle sur plusieurs tables de sorte que la vue soit sun combiné de des éléments de ces table (Table COMMANDE, Produit, Fournisseur, Ligne Commande)?
    Si j'arrive à faire ca, mon problème est resolu à 88%/.
    Si ta vue est amenée à utiliser plusieurs objets de type différents de ton Modèle, il est recommandé d'utiliser un Vue-Modèle. La Vue-Modèle aura pour objectif de combiner les différents modèles dont tu auras besoin pour ta vue. Ta vue sera alors typée sur le Vue-Modèle et t'évitera d'avoir de polluer les propriétés ViewBag et ViewData avec toutes sortes de données rendant au final ta vue difficilement maintenable et illisible.

    Si tu n'es pas allergique à l'anglais alors je t'invite à lire cet article de Rachel Appel très intéressant qui parle des Vue-Modèles.

  6. #6
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    249
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 249
    Points : 111
    Points
    111
    Par défaut
    Bonjour,
    je pense m'en sortir avec ce blog.

    Voir aussi:
    http://stackoverflow.com/questions/1...-the-same-page

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Enregistrer une commande at
    Par lolo_92 dans le forum Langage
    Réponses: 4
    Dernier message: 13/12/2009, 09h41
  2. Réponses: 4
    Dernier message: 29/06/2009, 11h46
  3. Réponses: 1
    Dernier message: 15/05/2009, 16h01
  4. enregistrer resultat d'une commande
    Par pyknite dans le forum Langage
    Réponses: 1
    Dernier message: 05/06/2007, 08h37
  5. enregistrement d'une commande
    Par deli.b dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 23/11/2005, 19h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo