//------------------------------------------------------------------- public CResultAErreur AddRoleToActeurs(CRoleActeur role, CGroupeActeur groupe) { CResultAErreur result = CResultAErreur.True; CListeObjetsDonnees listeActeurs = new CListeObjetsDonnees(groupe.ContexteDonnee, typeof(CActeur)); //Sélectionne tous les acteurs du groupe qui n'ont pas le rôle CFiltreDataAvance filtre = new CFiltreDataAvance(CActeur.c_nomTable, "(RelationsGroupes.GroupeActeur.Id = @1 or " + "RelationsGroupes.GroupeActeur.RelationsTousGroupesContenants.GroupeActeurContenant.Id = @1) and " + "hasno ( " + role.NomTableDonneesActeur + ".Id)", groupe.Id); listeActeurs.Filtre = filtre; foreach (CActeur acteur in listeActeurs) { #if PDA CDonneesActeur donnee = (CDonneesActeur)Activator.CreateInstance(role.TypeDonneeActeur); donnee.ContexteDonnee = groupe.ContexteDonnee; #else CDonneesActeur donnee = (CDonneesActeur)Activator.CreateInstance(role.TypeDonneeActeur, new object[] { groupe.ContexteDonnee }); #endif donnee.CreateNewInCurrentContexte(); donnee.Acteur = acteur; donnee.IsDonneeActeurValide = donnee.VerifieDonnees(false); } return(result); }
//------------------------------------------------------------------------- private void ApplyModifRoles() { Hashtable tableRoles = new Hashtable(); foreach (CRelationRoleActeur_GroupeActeur rel in GroupeActeur.RelationsRoles) { tableRoles[rel.RoleActeur] = rel; } foreach (ListViewItem item in m_listViewRoles.Items) { CRoleActeur role = (CRoleActeur)item.Tag; if (item.Checked) { if (!tableRoles.ContainsKey(role)) { CRelationRoleActeur_GroupeActeur relation = new CRelationRoleActeur_GroupeActeur(GroupeActeur.ContexteDonnee); relation.GroupeActeur = GroupeActeur; relation.RoleActeur = role; } } else { if (tableRoles.ContainsKey(role)) { CRelationRoleActeur_GroupeActeur relation = (CRelationRoleActeur_GroupeActeur)tableRoles[role]; relation.Delete(); } } } }
public static CPanelRole GetPanelFromRole(CObjetDonnee objet, CRoleActeur role) { switch (role.CodeRole) { case CDonneesActeurUtilisateur.c_codeRole: return(new CPanelRoleUtilisateur((CDonneesActeurUtilisateur)objet)); case CDonneesActeurClient.c_codeRole: return(new CPanelRoleClient((CDonneesActeurClient)objet)); default: return(null); } }
//------------------------------------------------------------------- public void AppliquerFiltre() { string strFiltre = ""; CFiltreDataAvance tempFiltre = new CFiltreDataAvance(CActeur.c_nomTable, strFiltre); int nNumParam = 1; AddToFiltre(ref strFiltre, m_txtNom, CActeur.c_champNom); AddToFiltre(ref strFiltre, m_txtCodePostal, CActeur.c_champCodePostal); AddToFiltre(ref strFiltre, m_txtVille, CActeur.c_champVille); if (m_cmbGroupes.SelectedValue != null) { if (strFiltre != "") { strFiltre += " AND "; } strFiltre += "RelationsGroupes.GroupeActeur." + CGroupeActeur.c_champId + " = @" + nNumParam; tempFiltre.Parametres.Add(((CGroupeActeur)m_cmbGroupes.SelectedValue).Id); nNumParam++; } if (m_cmbRoles.SelectedValue != null) { CRoleActeur role = (CRoleActeur)m_cmbRoles.SelectedValue; string strNomtable = CContexteDonnee.GetNomTableForType(role.TypeDonneeActeur); if (strFiltre != "") { strFiltre += " AND "; } strFiltre += strNomtable + "." + CActeur.c_champId + " >= 0"; nNumParam++; } if (strFiltre == "") { strFiltre = "1 = 1"; } tempFiltre.Filtre = strFiltre; Filtre = tempFiltre;; OnAppliqueFiltre(new object(), null); }
//------------------------------------------------------------------- public static void RegisterRole() { CRoleActeur.RegisterRole(c_codeRole, I.T("Supplier|104"), typeof(CDonneesActeurFournisseur)); }
//------------------------------------------------------------------- public static void RegisterRole() { CRoleActeur.RegisterRole(c_codeRole, I.T("Manufacturer|205"), typeof(CDonneesActeurConstructeur)); }
//------------------------------------------------------------------- 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); }
//------------------------------------------------------------------- public static void RegisterRole() { CRoleActeur.RegisterRole(c_codeRole, "Client", typeof(CDonneesActeurClient)); }
//------------------------------------------------------------------- public static void RegisterRole() { CRoleActeur.RegisterRole(c_codeRole, I.T("Application User|290"), typeof(CDonneesActeurUtilisateur)); }
/// //////////////////////////////////////////////////////////////////// public CResultAErreur SerializeFiltre(C2iSerializer serializer) { int nVersion = GetNumVersion(); CResultAErreur result = serializer.TraiteVersion(ref nVersion); if (!result) { return(result); } if (serializer.Mode == ModeSerialisation.Lecture) { InitCombos(); } string strText = m_txtNom.Text; serializer.TraiteString(ref strText); m_txtNom.Text = strText; strText = m_txtCodePostal.Text; serializer.TraiteString(ref strText); m_txtCodePostal.Text = strText; strText = m_txtVille.Text; serializer.TraiteString(ref strText); m_txtVille.Text = strText; string strCodeRole = ""; if (m_cmbRoles.SelectedValue is CRoleActeur) { strCodeRole = ((CRoleActeur)m_cmbRoles.SelectedValue).CodeRole; } serializer.TraiteString(ref strCodeRole); if (serializer.Mode == ModeSerialisation.Lecture) { m_cmbRoles.SelectedValue = CRoleActeur.GetRole(strCodeRole); } int nIdGroupe = -1; if (m_cmbGroupes.SelectedValue is CGroupeActeur) { nIdGroupe = ((CGroupeActeur)m_cmbGroupes.SelectedValue).Id; } serializer.TraiteInt(ref nIdGroupe); if (serializer.Mode == ModeSerialisation.Lecture) { if (nIdGroupe >= 0) { CGroupeActeur groupe = new CGroupeActeur(CSc2iWin32DataClient.ContexteCourant); if (groupe.ReadIfExists(nIdGroupe)) { m_cmbGroupes.SelectedValue = groupe; } } } return(result); }