mardi 31 mai 2011

[DEV] Création d’un groupe dans Project Server

Dans cet article je vais vous expliquer comment créer simplement un nouveau groupe dans Project Server.

Dans un premier temps nous devons ajouter le web service de la gestion des groupes dans le projet:

http://MONSERVEUR/PWA/_vti_bin/PSI/Security.asmx

Ensuite nous allons initialiser le service et les autorisations, pour ce faire j’utilise une méthode que j’ai nommée “WS_InitiSecurity()”

Cette méthode est la suivante:

private void WS_InitiSecurity()
{
//Récupération de l'url du web service PSI Sécurité
String WS_SECURITY_Adress = Properties.Settings.Default.Url_PWA + "/_vti_bin/PSI/Security.asmx";
CredentialCache myCredentials = CredentialPSI(WS_SECURITY_Adress);
WS_Security = new WS_Security.Security();
WS_Security.CookieContainer = new CookieContainer();
WS_Security.Credentials = myCredentials;
WS_Security.Url = WS_SECURITY_Adress;
}



Maintenant créons notre méthode

public void CreateGroup(string grpName, string grpDesc)
{
...
}



Nous allons créer un DataSet dans le quel nous ajouterons notre groupe,

WS_Security.SecurityGroupsDataSet secuDs = new WS_Security.SecurityGroupsDataSet();
WS_Security.SecurityGroupsDataSet.SecurityGroupsRow groupRow =
secuDs.SecurityGroups.NewSecurityGroupsRow();



Ensuite nous allons donner les paramètres de base, Nom, Description

//Attribution des propriétés
groupRow.WSEC_GRP_DESC = grpDesc;
groupRow.WSEC_GRP_NAME = grpName;
groupRow.WSEC_GRP_UID = Guid.NewGuid();



Et pour finaliser nous allons enregistrer sur le serveur notre nouveau groupe.

//Ajout des paramètres dans le dataset (SecurityGroups)
secuDs.SecurityGroups.AddSecurityGroupsRow(groupRow);

//Création du groupe dans la base cible
WS_Security.CreateGroups(secuDs);



Et voilà, à vous la création de groupe.


Code complet,


 

        public void CreateGroup(string grpName, string grpDesc)
{
WS_InitiSecurity();

// Création du groupe
WS_Security.SecurityGroupsDataSet secuDs = new WS_Security.SecurityGroupsDataSet();
WS_Security.SecurityGroupsDataSet.SecurityGroupsRow groupRow =
secuDs.SecurityGroups.NewSecurityGroupsRow();

//Attribution des propriétés
groupRow.WSEC_GRP_DESC = grpDesc;
groupRow.WSEC_GRP_NAME = grpName;
groupRow.WSEC_GRP_UID = Guid.NewGuid();

//Ajout des paramètres dans le dataset (SecurityGroups)
secuDs.SecurityGroups.AddSecurityGroupsRow(groupRow);

//Création du groupe dans la base cible
WS_Security.CreateGroups(secuDs);
}

Aucun commentaire: