2012-01-04 34 views
0

我希望能夠自動創建項目問題。目標是根據收到的電子郵件創建新問題。如何以編程方式在Project Workspace中創建項目問題?

我看了ProjectWSSInfoDataSet,它應該引用問題列表(根據「PSI方法和數據集的項目工作區」在http://msdn.microsoft.com/en-us/library/aa495198(office.12).aspx)。事實上,ProjectWSSInfoDataSet XML模式包含PROJECT_ISSUES_URL字段,但如果它只是url,那麼它對我來說沒有什麼用處。

有沒有人做過類似的事情? (或者可能帶有項目風險或可交付成果。)

回答

0

我認爲必須使用SharePoint Webservices來完成。在指定網站中查找列表並進行更新。

我建議SharePoint 2010 Client Object Model做到這一點:

//Use SP2010 Client Object Model to update the list 
ClientContext SPContext = new ClientContext(wssUrl); 

//Get list by name 
string listname = "issues"; 

var query = SPContext.LoadQuery(SPContext.Web.Lists.Where(l => l.Title == listname)); 
SPContext.ExecuteQuery(); 

List myIssueList = query.FirstOrDefault(); 

//Add an item 
ListItemCreationInformation nItem = new ListItemCreationInformation(); 
nItem.LeafName = "Blubb.."; 
myIssueList.AddItem(nItem); 
SPContext.ExecuteQuery(); 

如果您wan't通過項目Id以獲取工作區的URL,您可以通過在Project Server的WSSInterop Webservice的做到這一點

//Use WssInterop Webservice to get the Workspace URL 
WssInteropSoapClient wssinteropSvc = new WssInteropSoapClient(); 

Guid prjGuid = new Guid("30937680-39FA-4685-A087-90C73376B2BE"); 

ProjectWSSInfoDataSet wssData = wssinteropSvc.ReadWssData(prjGuid); 
string wssUrl = wssData.ProjWssInfo[0].PROJECT_WORKSPACE_URL; 

我不知道代碼是否會編譯,但它應該像這樣工作。

關注弗洛裏安

相關問題