//------------------------------------------------------------------------- /// <summary> /// /// </summary> /// <param name="tableau"></param> public CResultAErreur SetDataTable(DataTable tableau) { CResultAErreur result = CResultAErreur.True; if (tableau.Rows.Count != ElementsLignes.Count) { result.EmpileErreur("Error"); return(result); } int i; for (i = 0; i < tableau.Rows.Count; i++) { DataRow row = tableau.Rows[i]; CEntiteOrganisationnelle eo = (CEntiteOrganisationnelle)ElementsLignes[i]; foreach (DataColumn col in tableau.Columns) { if (row[col] is CDataPlanning) { CDataPlanning data = (CDataPlanning)row[col]; CEOplanifiee_Acteur planif = new CEOplanifiee_Acteur(m_typeTableauPlanning.ContexteDonnee); if (planif.ReadIfExists(new CFiltreData( CEntiteOrganisationnelle.c_champId + " =@1 and " + CEOplanifiee_Acteur.c_champDate + " =@2 and " + CHoraireJournalier_Tranche.c_champId + " =@3", eo.Id, ((DateTime)col.ExtendedProperties[c_strDatePourColonne]).Date, ((CHoraireJournalier_Tranche)col.ExtendedProperties[c_strTrancheHorairePourColonne]).Id ), false)) { planif.Acteur = (CActeur)data.Element; if (planif.Acteur == null && planif.IsValide()) { result = planif.Delete(); if (!result) { return(result); } } } else { if (data.Element != null) { planif.CreateNewInCurrentContexte(); planif.Acteur = (CActeur)data.Element; planif.EntiteOrganisationnelle = eo; planif.TrancheHoraire = (CHoraireJournalier_Tranche)col.ExtendedProperties[c_strTrancheHorairePourColonne]; planif.Date = ((DateTime)col.ExtendedProperties[c_strDatePourColonne]).Date; } } } } } return(result); }