Exemple #1
0
        //-------------------------------------------------------------------
        public override CResultAErreur TraitementAvantSauvegarde(CContexteDonnee ds)
        {
            CResultAErreur result = base.TraitementAvantSauvegarde(ds);

            if (!result)
            {
                return(result);
            }

            //Et envoie les notifications sur modification de données utilisateur
            DataTable table = ds.Tables[GetNomTable()];
            ArrayList lst   = new ArrayList(table.Rows);

            foreach (DataRow row in lst)
            {
                if (row.RowState == DataRowState.Added || row.RowState == DataRowState.Modified)
                {
                    CActeur acteur = new CActeur(row);

                    //sc2i.data.dynamic.CNettoyeurValeursChamps.NettoieChamps(acteur);

                    //Notification modification user
                    CDonneesActeurUtilisateur donneePart = (CDonneesActeurUtilisateur)acteur.GetDonneesRole(CRoleActeur.GetRole(CDonneesActeurUtilisateur.c_codeRole));
                    if (donneePart != null)
                    {
                        //TESTDBKEYOK
                        CDonneeNotificationChangementDroitUtilisateur notDroit = new CDonneeNotificationChangementDroitUtilisateur(IdSession, donneePart.DbKey);
                        CEnvoyeurNotification.EnvoieNotifications(new IDonneeNotification[] { notDroit });
                    }
                    if (acteur.ActeurParent != null &&
                        acteur.ActeurParent.IsChildOf(acteur))
                    {
                        result.EmpileErreur(I.T("A cyclic member relationship has been detected|134"));
                    }
                }
            }
            return(result);
        }