2013-05-01 121 views
0

我是PSI編碼新手...... 我已經創建了一個項目,我需要爲該項目構建一個團隊....資源必須存在於項目服務器中。 ..我研究,但我無法得到我想要的 如何做到這一點......?使用PSI構建項目團隊

WbSvcProject.ProjectDataSet pds = new WbSvcProject.ProjectDataSet(); 

      Guid PUID = Guid.Parse("8d73de15-8f85-4c5e-8da9-de0b85f48eed"); 
      pds = proj.ReadProject(PUID, WbSvcProject.DataStoreEnum.WorkingStore); 

我需要建立一個團隊爲這個項目......資源必須在項目服務器提前現有

感謝

回答

0

老VS2010?解。 VS2012似乎使用了一種通過WbSvcProject.ProjectSoapClient()調用服務的新方法?!?

using Library = Microsoft.Office.Project.Server.Library; 

class ProjectProxy 
{ 
    private WbSvcProject.Project projectSvc; 

    public ProjectProxy() 
    { 
     this.projectSvc = new WbSvcProject.Project(); 
     this.projectSvc.Url = Program.PWAServer + "/_vti_bin/psi/project.asmx"; 
     this.projectSvc.UseDefaultCredentials = true; 
    } 

    //ProjectTeamDataSet ds = new ProjectTeamDataSet(); 
    //ProjectTeamDataSet.ProjectTeamRow row = ds.ProjectTeam.NewProjectTeamRow(); 
    //row.PROJ_UID = projectGuid; 
    //row.RES_UID = resourceGuid; 
    //row.NEW_RES_UID = resourceGuid; 
    //ds.ProjectTeam.AddProjectTeamRow(row); 

    public void QueueUpdateProjectTeam(Guid sessionUid, Guid projectUid, ProjectTeamDataSet dataset) 
    { 
     Guid jobUid = Guid.NewGuid(); 

     try 
     { 
      this.projectSvc.QueueUpdateProjectTeam(jobUid, sessionUid, projectUid, dataset); 
     } 
     catch (SoapException soapException) 
     { 
      List<string> queueErrors = new List<string>(); 
      queueErrors.Add(soapException.Message); 
      Library.PSClientError clientError = new Library.PSClientError(soapException); 
      Library.PSErrorInfo[] errors = clientError.GetAllErrors(); 
      foreach (Library.PSErrorInfo error in errors) 
      { 
       queueErrors.Add(error.ErrId.ToString()); 
      } 
     } 
    } 
}