/// <summary> /// Extract iteration permissions for a specific identity /// </summary> /// <param name="server">Server security service</param> /// <param name="teamProject">Team project</param> /// <param name="userIdentity">User identity</param> /// <param name="identityManagementService">The identityManagementService</param> /// <param name="groups">List of groups</param> /// <returns>Security namespace</returns> private static List <IterationPermission> ExtractIterationPermissions(ISecurityService server, Project teamProject, TeamFoundationIdentity userIdentity, IIdentityManagementService identityManagementService, List <string> groups) { var result = new List <IterationPermission>(); var lstIterations = Helpers.FlattenTree(teamProject.IterationRootNodes); // root Area Node var iterationPermissionRoot = new IterationPermission { IterationName = teamProject.Name, IterationPermissions = new List <Permission>() }; iterationPermissionRoot.IterationPermissions.AddRange(ExtractGenericSecurityNamespacePermissions(server, PermissionScope.WorkItemIterations, userIdentity, lstIterations.First().ParentNode.Uri.AbsoluteUri, identityManagementService, groups)); if (iterationPermissionRoot.IterationPermissions.Count > 0) { result.Add(iterationPermissionRoot); } Console.WriteLine("== Extract WorkItems Iteration Permissions =="); foreach (Node iteration in lstIterations) { var iterationPermission = new IterationPermission { IterationName = iteration.Path, IterationPermissions = new List <Permission>() }; iterationPermission.IterationPermissions.AddRange(ExtractGenericSecurityNamespacePermissions(server, PermissionScope.WorkItemIterations, userIdentity, iteration.Uri.AbsoluteUri, identityManagementService, groups)); if (iterationPermission.IterationPermissions.Count > 0) { result.Add(iterationPermission); } } return(result); }
/// <summary> /// Extract iteration permissions for a specific identity /// </summary> /// <param name="server">Server security service</param> /// <param name="teamProject">Team project</param> /// <param name="userIdentity">User identity</param> /// <param name="identityManagementService">The identityManagementService</param> /// <param name="groups">List of groups</param> /// <returns>Security namespace</returns> private static List<IterationPermission> ExtractIterationPermissions(ISecurityService server, Project teamProject, TeamFoundationIdentity userIdentity, IIdentityManagementService identityManagementService, List<string> groups) { var result = new List<IterationPermission>(); var lstIterations = Helpers.FlattenTree(teamProject.IterationRootNodes); // root Area Node var iterationPermissionRoot = new IterationPermission { IterationName = teamProject.Name, IterationPermissions = new List<Permission>() }; iterationPermissionRoot.IterationPermissions.AddRange(ExtractGenericSecurityNamespacePermissions(server, PermissionScope.WorkItemIterations, userIdentity, lstIterations.First().ParentNode.Uri.AbsoluteUri, identityManagementService, groups)); if (iterationPermissionRoot.IterationPermissions.Count > 0) { result.Add(iterationPermissionRoot); } Console.WriteLine("== Extract WorkItems Iteration Permissions =="); foreach (Node iteration in lstIterations) { var iterationPermission = new IterationPermission { IterationName = iteration.Path, IterationPermissions = new List<Permission>() }; iterationPermission.IterationPermissions.AddRange(ExtractGenericSecurityNamespacePermissions(server, PermissionScope.WorkItemIterations, userIdentity, iteration.Uri.AbsoluteUri, identityManagementService, groups)); if (iterationPermission.IterationPermissions.Count > 0) { result.Add(iterationPermission); } } return result; }