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"
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++;
                    }
                }
            }
pour une date de 01/01/2014 à 01/05/2014
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:

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
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
 
 
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
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....

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