[SQL-C#-PHP : SOAP] complexité des methodes C#
Bonjour,
J'ai créé et fait fonctionner un Webservice codé avec Visual Studio en C# qui traite des données situées sur une base de donnée SQL et envoie les resultats via le protocol SOAP.
Le client utilise des pages php pour obtenir et interpréter les renvoies du webservice (via NuSOAP). Donc tout marchait bien jusqu'à ..........maintenant.
J'ai créé la méthode suivante qui ne marche pas :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| public string methode1(int siteObjID)
{
var query = from c in db.MaTables
where c.chose == siteObjID && c.chose2 == 2
select c;
int aa = 0, bb = 0, cc = 0, dd = 0, ee = 0, ff = 0, gg = 0, hh = 0, ii = 0, jj = 0, kk = 0, ll = 0;
foreach (MaTable data in query)
{
int value = ((int)data.MaValeur.Value);
if (value >= 345 && value <= 360 || value >= 0 && value < 15) { aa++; }
else if (value >= 15 && value < 45) { bb++; }
else if (value >= 45 && value < 75) { cc++; }
else if (value >= 75 && value < 105) { dd++; }
else if (value >= 105 && value < 135) { ee++; }
else if (value >= 135 && value < 165) { ff++; }
else if (value >= 165 && value < 195) { gg++; }
else if (value >= 195 && value < 225) { hh++; }
else if (value >= 225 && value < 255) { ii++; }
else if (value >= 255 && value < 285) { jj++; }
else if (value >= 285 && value < 315) { kk++; }
else if (value >= 315 && value < 345) { ll++; }
}
string xml = "<bla>";
xml += aa.ToString();
xml += "</bla>";
return xml;
} |
alors que cette méthode par exemple marche :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| public string methode2(int siteObjID)
{
var query = from c in db.MaTables
where c.chose == siteObjID
select c.TimeStamp;
DateTime firstDate = query.Min().Date;
string stringFirstDate = firstDate.ToString();
string tempDelim = " ";
char[] delim = tempDelim.ToCharArray();
string tempDelim2 = "/";
char[] delim2 = tempDelim2.ToCharArray();
string[] temp = stringFirstDate.Split(delim);
DateTime endDate = query.Max().Date;
string stringLastDate = endDate.ToString();
string[] temp2 = stringLastDate.Split(delim);
TimeSpan duration = endDate - firstDate;
string[] goodDate = temp[0].Split(delim2);
string[] goodDate2 = temp2[0].Split(delim2);
string xml = "<DateStart>";
xml += goodDate[2] + "-" + goodDate2[0] + "-" + goodDate[1];
xml += "</DateStart>";
xml += "<HourStart>";
xml += temp[1];
xml += "</HourStart>";
xml += "<DateEnd>";
xml += goodDate2[2] + "-" + goodDate2[0] + "-" + goodDate2[1];
xml += "</DateEnd>";
xml += "<HourEnd>";
xml += temp2[1];
xml += "</HourEnd>";
xml += "<Duration>";
xml += duration.Days;
xml += "</Duration>";
return xml;
} |
Comme vous le voyez, dans celle qui ne marche pas, il y à une boucle for et donc un travail sur chaque donnée. A chaque donnée il vérifie quelque chose.
Alors que sur celui qui marche ce n'est pas le cas.
Est ce que quelqu'un peut m'aiguiller ?
Je ne vois pas trop quoi faire. Peut être récupérer les données, les mettre dans une list<> puis traiter cette liste au lieux de traiter directement les données issues de sql ???
Je vous remercie d'avance.