Project Server 2010: Read groups and display user groups

Below sample code is to read all the group members and display the group names where the mentioned User name is present:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.Data;

namespace CheckUserGroup
    class Program
        static void Main(string[] args)
            string resname = "User Name";
            Guid resguid = Guid.NewGuid();
            bool found = false;
            WebSvcSecurity.Security objSecurity = new WebSvcSecurity.Security();
            objSecurity.Credentials = CredentialCache.DefaultCredentials;
            objSecurity.Url = "http://servername/pwa/_vti_bin/psi/security.asmx";
            ResourceWS.Resource PSIResource = new ResourceWS.Resource();
            PSIResource.Url = "http://servername/pwa/_vti_bin/psi/resource.asmx";
            PSIResource.Credentials = CredentialCache.DefaultCredentials;

            ResourceWS.ResourceDataSet AllRes;
            AllRes = PSIResource.ReadUserList(ResourceWS.ResourceActiveFilter.Active);
            DataTable resultsres = (DataTable)AllRes.Tables[0];

            var result = from myRow in resultsres.AsEnumerable() where myRow.Field<string>("RES_NAME") == resname select myRow;
            foreach (DataRow row in result)

                resguid = row.Field<Guid>("RES_UID");


            WebSvcSecurity.SecurityGroupsDataSet GroupListDs = new WebSvcSecurity.SecurityGroupsDataSet();
            GroupListDs = objSecurity.ReadGroupList();
            foreach (WebSvcSecurity.SecurityGroupsDataSet.SecurityGroupsRow grow in GroupListDs.SecurityGroups)
                WebSvcSecurity.SecurityGroupsDataSet GroupDs = new WebSvcSecurity.SecurityGroupsDataSet();
                GroupDs = objSecurity.ReadGroup(grow.WSEC_GRP_UID);
                DataTable results = (DataTable)GroupDs.GroupMembers;
                var res = from myRow in results.AsEnumerable() where myRow.Field<Guid>("RES_UID") == resguid select myRow;
                foreach (DataRow row in res)
                    found = true;


            if (!found)
                Console.Write("User is not present in any groups");


Happy coding ......Cheers .. Ajith