private void AfficheHistorique() { m_panelInfoSite.Visible = false; DataGridViewCell cell = m_grid.CurrentCell; if (m_grid.SelectedCells.Count == 1 && cell != null) { DataRowView rowView = m_grid.CurrentRow.DataBoundItem as DataRowView; if (rowView != null) { DataRow row = rowView.Row; int nCol = cell.ColumnIndex; DataColumn col = m_dataTable.Columns[m_grid.Columns[nCol].DataPropertyName]; if (col != null) { CTypeTicketContrat tt = col.ExtendedProperties[typeof(CTypeTicketContrat)] as CTypeTicketContrat; if (tt != null) { int nIdSite = (int)row["SITE_ID"]; CSite site = m_faciliteurEditePeriode.GetSite(nIdSite); m_lblSite.Text = site.Libelle; m_lblTypeTicket.Text = tt.TypeTicket.Libelle; m_panelInfoSite.Visible = true; CTypeTicketContrat_Site ts = tt.GetRelationSite(nIdSite); FillHistorique(ts == null?null:(CTypeTicketContrat_Site_Periode[])ts.Periodes.ToArray(typeof(CTypeTicketContrat_Site_Periode))); return; } } } } }
private void InitDataSet() { m_dataTable = new DataTable("SITES"); m_dataTable.Columns.Add("SITE_ID", typeof(int)); m_dataTable.Columns.Add("SITE_LABEL", typeof(string)); foreach (CTypeTicketContrat tt in m_faciliteurEditePeriode.TypesTickets) { DataColumn col = new DataColumn(tt.TypeTicket.Libelle + " START", typeof(DateTime)); col.AllowDBNull = true; col.ExtendedProperties[typeof(CTypeTicketContrat)] = tt; col.ExtendedProperties[typeof(ETypeContenuColonne)] = ETypeContenuColonne.dateDebut; m_dataTable.Columns.Add(col); m_dicColsDebut[tt] = col; col = new DataColumn(tt.TypeTicket.Libelle + " END", typeof(DateTime)); col.AllowDBNull = true; col.ExtendedProperties[typeof(CTypeTicketContrat)] = tt; col.ExtendedProperties[typeof(ETypeContenuColonne)] = ETypeContenuColonne.dateFin; m_dataTable.Columns.Add(col); m_dicColsFin[tt] = col; col = new DataColumn(tt.TypeTicket.Libelle + "TypeTicket_Site_Periode_Id", typeof(int)); col.AllowDBNull = true; col.ExtendedProperties[typeof(CTypeTicketContrat)] = tt; col.ExtendedProperties[typeof(ETypeContenuColonne)] = ETypeContenuColonne.IdPeriode; m_dataTable.Columns.Add(col); m_dicColsIdSitePeriode[tt] = col; } foreach (CSite site in m_faciliteurEditePeriode.Sites) { DataRow row = m_dataTable.NewRow(); row["SITE_ID"] = site.Id; row["SITE_LABEL"] = site.Libelle; m_dataTable.Rows.Add(row); foreach (CTypeTicketContrat typeTicket in m_faciliteurEditePeriode.TypesTickets) { CTypeTicketContrat_Site ts = typeTicket.GetRelationSite(site.Id); if (ts != null) { CTypeTicketContrat_Site_Periode tp = ts.GetPeriodeFor(m_dateFiltrePeriodes); if (tp != null) { row[m_dicColsDebut[typeTicket]] = tp.DateDebut; row[m_dicColsFin[typeTicket]] = tp.DateFin; row[m_dicColsIdSitePeriode[typeTicket]] = tp.Id; } } } } }