Bonjour,
je bloque, je comprend pas.
Alors:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 List<int> ins_quinzaine_impaire = new List<int>(); //Contient: [0]: 1 [1]: 66 List<DateTime> DatePremierJourSemaine = new List<DateTime>(); //Contient toutes les dates du premier jour des semaines de l'année allant de "Date entree par l'utilisateur" jusque "Date entree par l'utilisateur"pour une date de 01/01/2014 à 01/05/2014
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
24 nbins = 0; foreach (int insID in ins_quinzaine_impaire) { i = 0; foreach (DateTime Date in DatePremierJourSemaine) { int WoYdate = cal.GetWeekOfYear(Date, CalendarWeekRule.FirstDay, dfi.FirstDayOfWeek); //Return le numero de la semaine de l'année if (WoYdate % 2 != 0) //si la semaine est impaire { PlanID++; cmd_plan_quinzaine = new SqlCommand(Sql_plan_quinzaine, Connection, transaction); ; cmd_plan_quinzaine.Parameters.Add("@PlaID", SqlDbType.Int).Value = PlanID; cmd_plan_quinzaine.Parameters.Add("@PlaDAT", SqlDbType.DateTime).Value = DatePremierJourSemaine[i]; cmd_plan_quinzaine.Parameters.Add("@plaInsID", SqlDbType.Int).Value = ins_quinzaine_impaire[nbins]; cmd_plan_quinzaine.Parameters.Add("@PlaComment", SqlDbType.NVarChar).Value = "Quinzaine Impaire"; cmd_plan_quinzaine.ExecuteNonQuery(); i++; } } }
je lit donc: Pour chaque Instrument dans la liste ins_quinzaine_impaire, je parcoure chaque date contenue dans la liste DatePremierJourSemaine, je recupere une variable contenant la semaine dans l'année de la date parcouru et si elle est impaire, je l'insere dans la BDD avec l'instrument
Le resultat attendu dans la BDD:
Resultat obtenu:
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 2100 2014-01-01 2 Quinzaine Impaire 2101 2014-01-13 2 Quinzaine Impaire 2102 2014-01-27 2 Quinzaine Impaire 2103 2014-02-10 2 Quinzaine Impaire 2104 2014-02-24 2 Quinzaine Impaire ETC ETC ETC ETC jusque 2014-04-28 ensensuite on passe a l'instrument 67 21xx 2014-01-01 67 Quinzaine Impaire 21xx 2014-01-13 67 Quinzaine Impaire 21xx 2014-01-27 67 Quinzaine Impaire 21xx 2014-02-10 67 Quinzaine Impaire 21xx 2014-02-24 67 Quinzaine Impaire ETC ETC ETC jusque 2014-04-28
on dirait que le: if (WoYdate % 2 != 0) ne tri pas les semaine paire / impaire quand je passe en mode debugging sous visual studio, je met un point d'arret et regarde l'etat de cette ligne à chaque date incrémenté, elle est egale a true quand WoYdate est impaire et false quand WoYdate est paire....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 2099 2014-01-01 2 Quinzaine Impaire 2100 2014-01-06 2 Quinzaine Impaire 2101 2014-01-13 2 Quinzaine Impaire 2102 2014-01-20 2 Quinzaine Impaire 2103 2014-01-27 2 Quinzaine Impaire 2104 2014-02-03 2 Quinzaine Impaire 2105 2014-02-10 2 Quinzaine Impaire 2106 2014-02-17 2 Quinzaine Impaire 2107 2014-02-24 2 Quinzaine Impaire 2108 2014-01-01 67 Quinzaine Impaire ETC ETC ETC ETC et s'arrete a 2014-02-24
deplus dans la base de données, l'insertion ne vas pas plus loin que la moitié de la date d'intervalle données (je tape du 01/01/2014 à 01/05/2014) les insertions s'arrete à 24/02/2014.
edit: lorsque j'envoie le post sur le forum, les données de la bdd en "[ code ]" sur une ligne se decale, je ne sais pas pourquoi
Partager