//-------------------------------------------------------------------
        /// <summary>
        ///
        /// </summary>
        /// <param name="lstCles"></param>
        public void TiagSetEquipmentKeys(object[] lstCles)
        {
            CEquipement equipement = new CEquipement(ContexteDonnee);

            if (equipement.ReadIfExists(lstCles))
            {
                Equipement = equipement;
            }
        }
        //---------------------------------------------------------------
        protected override CResultAErreur MySerialize(C2iSerializer serializer)
        {
            int            nVersion = GetNumVersion();
            CResultAErreur result   = serializer.TraiteVersion(ref nVersion);

            if (!result)
            {
                return(result);
            }
            int?nIdEquipement  = m_equipement != null?(int?)m_equipement.Id:null;
            int?nIdEmplacement = m_emplacement != null ? (int?)m_emplacement.Id : null;

            serializer.TraiteIntNullable(ref nIdEquipement);
            serializer.TraiteIntNullable(ref nIdEmplacement);
            switch (serializer.Mode)
            {
            case ModeSerialisation.Ecriture:
                if (nIdEmplacement != null)
                {
                    Type tp = m_emplacement.GetType();
                    serializer.TraiteType(ref tp);
                }
                break;

            case ModeSerialisation.Lecture:
                CContexteDonnee ctx = ReleveEquipement.ContexteDonnee;
                if (nIdEquipement != null)
                {
                    m_equipement = new CEquipement(ctx);
                    if (!m_equipement.ReadIfExists(nIdEquipement.Value))
                    {
                        m_equipement = null;
                    }
                }
                if (nIdEmplacement != null)
                {
                    Type tp = null;
                    serializer.TraiteType(ref tp);
                    m_emplacement = Activator.CreateInstance(tp, new object[] { ReleveEquipement.ContexteDonnee }) as IEmplacementEquipement;
                    if (m_emplacement != null)
                    {
                        if (!m_emplacement.ReadIfExists(nIdEmplacement.Value))
                        {
                            m_emplacement = null;
                        }
                    }
                }
                break;
            }
            return(result);
        }
        //---------------------------------------------------------------
        protected override CResultAErreur MySerialize(C2iSerializer serializer)
        {
            int            nVersion = GetNumVersion();
            CResultAErreur result   = serializer.TraiteVersion(ref nVersion);

            if (!result)
            {
                return(result);
            }
            int nNb = m_listeEquipementsDeplaçables.Count;

            serializer.TraiteInt(ref nNb);
            switch (serializer.Mode)
            {
            case ModeSerialisation.Ecriture:
                foreach (CEquipement eqpt in m_listeEquipementsDeplaçables)
                {
                    int nId = eqpt.Id;
                    serializer.TraiteInt(ref nId);
                }
                break;

            case ModeSerialisation.Lecture:
                List <CEquipement> lst = new List <CEquipement>();
                for (int n = 0; n < nNb; n++)
                {
                    int nId = -1;
                    serializer.TraiteInt(ref nId);
                    CEquipement eqpt = new CEquipement(ReleveEquipement.ContexteDonnee);
                    if (eqpt.ReadIfExists(nId))
                    {
                        lst.Add(eqpt);
                    }
                }
                m_listeEquipementsDeplaçables = lst;
                break;
            }
            return(result);
        }