03 Fév2016
Formulaire de calcul du prix TTC
Objectifs:
- Utiliser les contrôles web simples
- Appliquer une mise forme sur le contrôle Label
- Contrôler la saisie
Énoncé:
On désire réaliser une calculette de prix TTC.
Créer un formulaire permettant de calculer le montant HT et TTC d’une commande d’un produit à partir du nom de produit, prix unitaire, quantité et TVA.
![tp1-ex3-commande-1](/images/articles/asp/tp1-ex3-commande-1.png)
Calculette de prix TTC
Prévoir le cas où le prix unitaire<=0, la quantité<=0 …
![tp1-ex3-commande-2](/images/articles/asp/tp1-ex3-commande-2.png)
Calculette de prix TTC - Cas d'erreur 1
Prévoir le cas où un champ est vide:
![tp1-ex3-commande-3](/images/articles/asp/tp1-ex3-commande-3.png)
Calculette de prix TTC - Cas d'erreur 2
Code Web Form: MontantCmd.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MontantCmd.aspx.cs" Inherits="tp1_exelib.MontantCmd" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> </head> <body> <form id="form1" runat="server"> <h2>Montant d'une commande</h2> <div> <asp:Label ID="Label1" runat="server" Text="Nom Produit: "></asp:Label> <asp:TextBox ID="txtNom" runat="server"></asp:TextBox> <br /> <br /> <asp:Label ID="Label2" runat="server" Text="Prix Unitaire: "></asp:Label> <asp:TextBox ID="txtPU" runat="server"></asp:TextBox> <asp:Label ID="lblErreurPu" runat="server" ForeColor="Red"></asp:Label> <br /> <br /> <asp:Label ID="Label3" runat="server" Text="Quantité: "></asp:Label> <asp:TextBox ID="txtQuantite" runat="server"></asp:TextBox> <asp:Label ID="lblErreurQ" runat="server" ForeColor="Red"></asp:Label> <br /> <br /> <asp:Label ID="Label4" runat="server" Text="TVA: "></asp:Label> <asp:TextBox ID="txtTva" runat="server"></asp:TextBox> <asp:Label ID="lblErreurTva" runat="server" ForeColor="Red"></asp:Label> <br /> <br /> <br /> <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Calculer" /> <br /> <br /> <asp:Label ID="lblMontant" runat="server" style="font-weight: 700"></asp:Label> <br /> <asp:Label ID="lblErreur" runat="server" ForeColor="Red" style="font-weight: 700"></asp:Label> <br /> </div> </form> </body> </html>
Code Behind: MontantCmd.aspx.cs
protected void Page_Load(object sender, EventArgs e) { lblErreur.Text = lblErreurPu.Text = lblErreurQ.Text = lblErreurTva.Text = lblMontant.Text = ""; } protected void Button1_Click(object sender, EventArgs e) { double pu, q, tva; string erreur = ""; if (txtNom.Text == string.Empty || txtPU.Text == string.Empty || txtQuantite.Text == string.Empty || txtTva.Text == string.Empty ) { lblErreur.Text = "- Tous les champs sont obligatoires!"; return; } if(!double.TryParse(txtPU.Text, out pu) || pu <= 0) { erreur += "<br>- Prix unitaire invalid"; lblErreurPu.Text = "*"; } if (!double.TryParse(txtQuantite.Text, out q) || q <= 0) { erreur += "<br>- Quantité invalide"; lblErreurQ.Text = "*"; } if (!double.TryParse(txtTva.Text, out tva) || tva <= 0) { erreur += "<br>- TVA invalid"; lblErreurTva.Text = "*"; } lblErreur.Text = erreur; if(erreur == "") { double ht = pu * q; double ttc = ht + ht * tva / 100; lblMontant.Text = "Montant de la commande : " + txtNom.Text; lblMontant.Text += "<br>Prix HT : " + ht.ToString(); lblMontant.Text += "<br>Prix TTC : " + ttc.ToString(); } }