예제 #1
0
        public void SupprimeActeurDansV1()
        {
            ResetModifs();
            CActeur acteur    = ActeurReferentiel;
            int     nIdActeur = acteur.Id;

            m_contexteDonnee.SetVersionDeTravail(m_nIdsVersions[0], false);

            CListeObjetsDonnees listeActeurs = new CListeObjetsDonnees(m_contexteDonnee, typeof(CActeur));

            listeActeurs.Filtre = new CFiltreData(CActeur.c_champId + "=@1", nIdActeur);
            Assert.IsTrue(acteur.Delete());

            m_contexteDonnee.SetVersionDeTravail(null, false);
            Assert.IsTrue(acteur.IsValide());
            listeActeurs.Refresh();
            Assert.AreEqual(1, listeActeurs.Count);

            m_contexteDonnee.SetVersionDeTravail(m_nIdsVersions[0], false);
            Assert.IsFalse(acteur.IsValide());
            listeActeurs.Refresh();
            Assert.AreEqual(0, listeActeurs.Count);

            m_contexteDonnee.SetVersionDeTravail(m_nIdsVersions[1], false);
            Assert.IsTrue(acteur.IsValide());
            listeActeurs.Refresh();
            Assert.AreEqual(1, listeActeurs.Count);

            m_contexteDonnee.SetVersionDeTravail(m_nIdsVersions[2], false);
            Assert.IsFalse(acteur.IsValide());
            listeActeurs.Refresh();
            Assert.AreEqual(0, listeActeurs.Count);
        }
예제 #2
0
        public void CreateActeurDansV1EtsuppressionDansV3()
        {
            ResetModifs();
            CActeur acteur = AssureActeurV1();

            m_contexteDonnee.SetVersionDeTravail(m_nIdsVersions[0], false);
            Assert.IsTrue(acteur.IsValide());
            m_contexteDonnee.SetVersionDeTravail(m_nIdsVersions[2], false);
            Assert.IsTrue(acteur.IsValide());
            m_contexteDonnee.SetVersionDeTravail(null, false);
            Assert.IsFalse(acteur.IsValide());
            m_contexteDonnee.SetVersionDeTravail(m_nIdsVersions[1], false);
            Assert.IsFalse(acteur.IsValide());

            m_contexteDonnee.SetVersionDeTravail(m_nIdsVersions[2], false);
            Assert.IsTrue(acteur.Delete().Result);

            m_contexteDonnee.SetVersionDeTravail(m_nIdsVersions[0], false);
            Assert.IsTrue(acteur.IsValide());
            m_contexteDonnee.SetVersionDeTravail(m_nIdsVersions[2], false);
            Assert.IsFalse(acteur.IsValide());
            m_contexteDonnee.SetVersionDeTravail(null, false);
            Assert.IsFalse(acteur.IsValide());
            m_contexteDonnee.SetVersionDeTravail(m_nIdsVersions[1], false);
            Assert.IsFalse(acteur.IsValide());
        }
예제 #3
0
        public void ModifDansV1PuisSuppression()
        {
            ResetModifs();
            CActeur acteur    = ActeurReferentiel;
            int     nIdActeur = acteur.Id;

            //Crée l'objet dans V1
            SetSituation(new M(m_nIdsVersions[0], new CV(CActeur.c_champNom, "TOTO")),
                         new M(m_nIdsVersions[2], new CV(CActeur.c_champNom, "TOTO 2")));

            CListeObjetsDonnees listeActeurs = new CListeObjetsDonnees(m_contexteDonnee, typeof(CActeur));

            listeActeurs.Filtre = new CFiltreData(CActeur.c_champId + "=@1", nIdActeur);
            m_contexteDonnee.SetVersionDeTravail(m_nIdsVersions[0], false);
            Assert.IsFalse(acteur.CanDelete());            //On ne peut pas car il est utilisé par V3
            m_contexteDonnee.SetVersionDeTravail(m_nIdsVersions[2], false);
            Assert.IsTrue(acteur.Delete());
            m_contexteDonnee.SetVersionDeTravail(m_nIdsVersions[0], false);
            acteur = ActeurReferentiel;
            Assert.IsTrue(acteur.Delete());

            m_contexteDonnee.SetVersionDeTravail(null, false);
            acteur = ActeurReferentiel;
            Assert.IsTrue(acteur.IsValide());
            listeActeurs.Refresh();
            Assert.AreEqual(1, listeActeurs.Count);

            m_contexteDonnee.SetVersionDeTravail(m_nIdsVersions[0], false);
            Assert.IsFalse(acteur.IsValide());
            listeActeurs.Refresh();
            Assert.AreEqual(0, listeActeurs.Count);

            m_contexteDonnee.SetVersionDeTravail(m_nIdsVersions[1], false);
            Assert.IsTrue(acteur.IsValide());
            listeActeurs.Refresh();
            Assert.AreEqual(1, listeActeurs.Count);

            m_contexteDonnee.SetVersionDeTravail(m_nIdsVersions[2], false);
            Assert.IsFalse(acteur.IsValide());
            listeActeurs.Refresh();
            Assert.AreEqual(0, listeActeurs.Count);
        }
예제 #4
0
        //----------------------------------
        private string[] GetValeursActeurParVersion(CActeur acteur, string strChamp)
        {
            int           nId         = acteur.Id;
            List <string> strLibs     = new List <string>();
            int?          nOldVersion = m_contexteDonnee.IdVersionDeTravail;

            m_contexteDonnee.SetVersionDeTravail(null, false);
            DataRow row = acteur.Row.Row;

            acteur.Nom                         = "Test";
            row.Table.RowChanging             += new DataRowChangeEventHandler(Table_RowChanging);
            row[CActeur.c_champNom]            = "TEST 2";
            row[CContexteDonnee.c_colIsToRead] = true;

            m_contexteDonnee.SetIsToRead(row, true);
            if (!acteur.IsValide())
            {
                strLibs.Add(null);
            }
            else
            {
                strLibs.Add((string)acteur.Row[strChamp]);
            }
            for (int nVersion = 0; nVersion < m_nIdsVersions.Length; nVersion++)
            {
                m_contexteDonnee.SetVersionDeTravail(m_nIdsVersions[nVersion], false);
                if (acteur.IsValide())
                {
                    strLibs.Add((string)acteur.Row[strChamp]);
                }
                else
                {
                    strLibs.Add(null);
                }
            }
            m_contexteDonnee.SetVersionDeTravail(nOldVersion, false);
            return(strLibs.ToArray());
        }