IF switch et déclaration de variable csharp asp.net

phpdos Messages postés 9 Date d'inscription mercredi 19 août 2009 Statut Membre Dernière intervention 8 mars 2010 - 17 nov. 2009 à 17:09
phpdos Messages postés 9 Date d'inscription mercredi 19 août 2009 Statut Membre Dernière intervention 8 mars 2010 - 17 nov. 2009 à 20:28
Dans ma "private void" où je charge mes labels

et dans mon "termLabel", j'affiche les numéros de boîte

Voici :
mTermLabel.Text =   priceOfferStruct.Term.ToString();

Plus loin, j'ai des variables ( Publication_ID et MessagePrime) avec le bouton...
protected void SubscribeButton_Click(object sender, System.EventArgs e)
{
SubscribeButton.Enabled  = false;
string strFacturation;

strFacturation =  (string)Session["Facturation"];


if (strFacturation != "EnCours")
{

string Publication_ID = (string)Session["PubID"]; // variable recuperer dans ecran precedent


string PublicationDescription = (string)Session["PublicationDescription"];




using (System.IO.StreamWriter SW = new System.IO.StreamWriter(Server.MapPath("toto/nouveau/Data_" + strDate + "_".csv"))) // creation de fichier data


{

SW.WriteLine(priceOfferStruct.Term.ToString() + ";"+ Publication_ID + ";");
SW.Close();
}
}
}

Jusqu'au là, tout va bien ,:ccool: l'application créée le fichier data (data_20122002.csv) et à l'intérieur de ce fichier, il y a le nombre de boîte et publication id, sans erreur.:lol:

Je vais alors ajouter une phrase avec des conditions :


Il faut que je voiesi le nombre est plus grand que 18 boîtes...
if(priceOfferStruct.Term > 18


Ensuite si le nombre de boîtes est plus que 18, il faut comparer avec PUB ID...[Publication_ID]
Si mon Publication_ID est BOI1, Mon message [MessagePrime] : " il faut ajouter 1 boîte gratuite "
Si mon Publication_ID est BOI2, Mon message : "il faut ajouter 2 boîtes gratuites"



sinon Mon message [MessagePrime] est vide : ""



Alors, je déclare ma variable MessagePrime
j'ai fait 1re condition, avec If [if(priceOfferStruct.Term > 18)]
ensuite une switch [switch (Publication_ID)] avec 2 conditions [case "BOI1"] et [case "BOI1"]

Et je récupère la valeur de MessagePrime et je mets dans SW.WriteLine...

Est-ce que jusqu'au là c'est clair ?

Comment je peux faire ?

Voici ce que je pensais :
:roll:

protected void SubscribeButton_Click(object sender, System.EventArgs e)
{
SubscribeButton.Enabled   = false;
string strFacturation;

strFacturation = (string)Session["Facturation"];


if (strFacturation != "EnCours")
{

string Publication_ID = (string)Session["PubID"]; // variable recuperer dans ecran precedent


string PublicationDescription = (string)Session["PublicationDescription"];


//*-*-*-*-*-*-*-*--------------- nouveau code ajouter pour les boites
public string MessagePrime; // mon nouvelle variable

   if(priceOfferStruct.Term > 18)

{
  switch (Publication_ID)
    {
case "BOI1":

    MessagePrime = "il faut ajouter   1 boite gratuite";
    break;

    case "BOI2":

     MessagePrime = " il faut ajouter  2 boites gratuites";
     break;

     }
 }
     else
 {
   MessagePrime = "";
 }


//*-*-*-*-*-*-*-*--------------- nouveau code ajouter pour les boites FIN


using (System.IO.StreamWriter SW = new System.IO.StreamWriter(Server.MapPath("toto/nouveau/Data_" + strDate + "_".csv"))) // creation de fichier data


{

          SW.WriteLine(priceOfferStruct.Term.ToString() + ";"+ Publication_ID + ";"+ MessagePrime + ";");
SW.Close();
}
}
}


:Mais je ne sais pas où je me trompe ? Vous pouvez m'aider ?

1 réponse

phpdos Messages postés 9 Date d'inscription mercredi 19 août 2009 Statut Membre Dernière intervention 8 mars 2010
17 nov. 2009 à 20:28
Voila j'ai trouvé la solution.

D'abord il fallait declarer mon variable

string MessagePrime mais pas

public string MessagePrime;

ensuite il faut toujours assigner la variable dans C# même si c'est vide... : [String.Empty;]


alors voici le bon code :

// string MessagePrime; // mon nouvelle variable mais non assigné Il faut le assigner : String.Empty;
string MessagePrime = String.Empty; // mon nouvelle variable

if(priceOfferStruct.Term > 18)

{
switch (Publication_ID)
{
case "BOI1":

MessagePrime = "il faut ajouter 1 boite gratuite";
break;

case "BOI2":

MessagePrime = " il faut ajouter 2 boites gratuites";
break;


}
}
else
{
MessagePrime = "";
}

Bonne journée
0
Rejoignez-nous