salut le monde!!!
J'ai un gros problème avec un de mes rapports ...c'est un peu fou meme !!! :P Bon j'explique, il faut que je faire un horaire de travail...
donc j'ai du personnel, des periode de 28 jours(2 paye), et des jours...
Je veux que sa ressemble environ a ca t = travailler (exemple...) et c = congé
1 2 3 4 5 6 7 8 9 10 11 ..
employer 1 c c t t t t t t t t t ...
employer 2 t t c c c c c c c c c
ce tableau se répete le nombre de fois qu'il a de periode de 28 jours
j'ai mes donnée qui son storé dans des arraylist imbriqué:
arraylist1 = les periodes
arraylist2 = la periodes
arraylist3 = Les employés
class(employé) = les info + les journé que l'employer travail
Pour ce qui est de mes données je le vois correctement .. le programme est plutot lorsque je veux faire mon rapport ... comment ca marche pour un arraylist .. pour un dataset ca va .. mais la je ne peut pas vraiment ... atk je ne passe pas ...
Voici mon code pour la structure des données
int ide_Saison = Convert.ToInt32(ddlSaison.SelectedValue.ToString());
TimeSpan Un = new TimeSpan(1,0,0,0,0);
DropDownList ddlAjoutPeriode = new DropDownList();
ArrayList List = f.miseAjourdllPeriode(ddlAjoutPeriode, ide_Saison,-1); //contient les info pour la periode
ArrayList rapportList = new ArrayList();
for (int group = 0 ; group < List.Count ; group++ )
{
//this.ddlAjoutPeriode.Enabled= false;
ddlAjoutPeriode.SelectedIndex = group;
string Query1 = "SELECT DISTINCT dbo.GPA_EMPLOYER.IDE_EMPLR_PK, dbo.GPA_EMPLOYER.PRENOM_EMPLOYER, dbo.GPA_EMPLOYER.NOM_EMPLOYER "
+ "FROM dbo.GPA_GRILLE INNER JOIN "
+ "dbo.GPA_EMPLOYER ON dbo.GPA_GRILLE.IDE_EMPLR_FK = dbo.GPA_EMPLOYER.IDE_EMPLR_PK "
+ "WHERE (dbo.GPA_GRILLE.IDE_PERIODE_FK = '" + Convert.ToInt32(((ArrayList)List[ddlAjoutPeriode.SelectedIndex])[0].ToString()) + "') AND (GPA_EMPLOYER.IDE_GROUP_FK='" + Convert.ToInt32(ddlGroupe.SelectedValue.ToString()) + "')";
SqlCommand cmdGrille = new SqlCommand(Query1, sqlConnection1);
SqlDataReader sdrGrille = cmdGrille.ExecuteReader();
ArrayList tableau = new ArrayList();
while(sdrGrille.Read())
{
tableau.Add(new GrilleEmploye(Convert.ToInt32(sdrGrille["IDE_EMPLR_PK"].ToString()),Convert.ToString(sdrGrille["PRENOM_EMPLOYER"]),Convert.ToString(sdrGrille["NOM_EMPLOYER"])));
}
sdrGrille.Close();
cmdGrille.Dispose();
for (int j = 0 ; j < tableau.Count ; j++)
{
DateTime dateGrille = Convert.ToDateTime(((ArrayList)List[ddlAjoutPeriode.SelectedIndex])[1]);
for(int i = 0 ; i < 14 ; i++ )
{
string Query2 = "";
try
{
Query2 = "SELECT IDE_CODE_FK, DAT_DATE "
+ "FROM dbo.GPA_GRILLE "
+ "WHERE (IDE_PERIODE_FK = '" + Convert.ToInt32(((ArrayList)List[ddlAjoutPeriode.SelectedIndex])[0].ToString()) + "') AND (IDE_EMPLR_FK = '" + ((GrilleEmploye)tableau[j]).GetNumeroEmploye + "') AND DAT_DATE=CONVERT(DATETIME, '" + dateGrille.ToShortDateString() + "', 102)";
SqlCommand cmdGrille1 = new SqlCommand(Query2, sqlConnection1);
f.connection(sqlConnection1);
SqlDataReader sdrGrille1 = cmdGrille1.ExecuteReader();
sdrGrille1.Read();
if(Convert.ToInt32(sdrGrille1["IDE_CODE_FK"])==1)
((GrilleEmploye)tableau[j]).SetTableauDate(Convert.ToDateTime(sdrGrille1["DAT_DATE"]),Convert.ToInt32(sdrGrille1["IDE_CODE_FK"].ToString()),false);
else
((GrilleEmploye)tableau[j]).SetTableauDate(Convert.ToDateTime(sdrGrille1["DAT_DATE"]),Convert.ToInt32(sdrGrille1["IDE_CODE_FK"].ToString()),true);
sdrGrille1.Close();
}
catch ( System.InvalidOperationException msg)
{
this.lblErr.Text =msg.Message.ToString();
this.lblErr.Visible = true;
}
catch ( SqlException msg)
{
this.lblErr.Text =msg.Message.ToString();
this.lblErr.Visible = true;
}
dateGrille = dateGrille + Un;
}
}
rapportList.Add(tableau);
}