Bonjour,
Ayant défini une liste d'articles avec chaque fois un prix, je voudrais que dans ma commande, après avoir choisi la quantité, le prix soit la multiplication de la quantité de ma commande et du prix de mon article.
J'ai donc une classe "Commande" qui a une Foreign Key avec ma classe "Article"
Je crée alors un CommandesController en utilisant l'automatisme de VS express 2013.
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
16
17
18
19
20
21
22
23 public class Commande { public int CommandeID { get; set; } public int ArticleID { get; set; } public int CommandeQuantite { get; set; } public int CommandePrixTotal { get; set; } public virtual Article Article { get; set; } } public class Article { public int ArticleID { get; set; } public string ArticleNom { get; set; } public int ArticlePrix{ get; set; } }
Si je lance l'application, dans ma vue "Commande" j'ai bien un dropbox qui me permet de choisir l'article. En fonction de l'article sélectionné dans mon dropbox, j'aimerais que s'affiche le prix de l'article (qui n'est pas repris en tant que tel dans ma commande). Et je voudrais aussi qu'au moment créer ma commande il multiplie la quantité commandée par le prix de l'article.
au niveau de mon controlleur, j'ai:
Dans le code ci-dessus, dans ma ligne rajoutée, ça ne fonctionne pas car dans "commande.Article.ArticlePrix;", Article vaut null ???
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 public ActionResult Create([Bind(Include="CommandeID,ArticleID,CommandeQuantite,CommandePrixTotal")] Commande commande) { //ligne suivante rajoutée commande.CommandePrixTotal = CommandeQuantite * commande.Article.ArticlePrix; if (ModelState.IsValid) { db.Commandes.Add(commande); db.SaveChanges(); return RedirectToAction("Index"); }...
Partager