Пример #1
0
        //-------------------------------------------------------------------------
        /// <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);
        }