Access to projects The following code demonstrates the various ways available to access the servers projects: using erminas.SmartAPI.CMS.Project; using erminas.SmartAPI.CMS.ServerManagement; using erminas.SmartAPI.CMS.Utils; using System; using System.Net; public class MyClass { public void DoSomething() { var authData = new PasswordAuthentication("username", "password"); var url = "http://mycmsserver/cms"; var login = new ServerLogin(url, authData); using (var session = SessionBuilder.CreateOrReplaceOldestSession(login)) { //this is the currently active project in the session var selectedProject = session.SelectedProject; var serverManager = session.ServerManager; //these are all projects, the active user is assigned to var currentUsersProjects = serverManager.Projects.ForCurrentUser; //these are all projects for the user xy, you need to be server manager to do this var user = serverManager.Users["some username"]; var projectsOfUserXy = serverManager.Projects.ForUser(user.Guid); //these are all projects on the server, you need to be server manager to access projects you are not assigned to var allProjects = serverManager.Projects; //you can access a single project by name var myProject = serverManager.Projects.ForCurrentUser["myproject"]; //this is the short for var myProjectToo = serverManager.Projects.ForCurrentUser.GetByName("myproject"); //if you do not know wether a specific project exists, you can use IProject unknownProject; if (serverManager.Projects.ForCurrentUser.TryGetByName("myproject", out unknownProject)) { Console.WriteLine("Found project with guid: " + unknownProject.Guid); } else { Console.WriteLine("No project with name myproject assigned to user"); } //you can also get a project by guid var projectGuid = new Guid("..."); var projectByGuid = serverManager.Projects.ForCurrentUser.GetByGuid(projectGuid); // a TryGetByGuid method is available, too //print all project names and guids Console.WriteLine("Projects:"); foreach (var curProject in serverManager.Projects) { Console.WriteLine(curProject); } } } }