2012-02-27 69 views
0

我調用現有的wcf服務來選擇記錄,一旦記錄被拉過wcf我做我的邏輯(有點上傳),一旦完成,我必須更新數據庫中的記錄。使用wcf服務更新sql表格

這裏就是這樣,我打電話WCF服務

GatewayService.ServiceClient proxy = new ServiceClient("IService"); 

     SearchCriteria criteria = new SearchCriteria(); 
     criteria.UserRoles = new string[]{"*"}; 


     var stories = proxy.GetStoryItemsByCriteria(criteria); 

     var programs = proxy.GetPrograms(); 

     var readyToDistribute = from story in stories 
           where story.Submitted 
             && story.Status == "Open" 
             select story; 

     var joined = from story in readyToDistribute 
        join program in programs on story.ProgramId equals program.Id 
        select new StoryProgram(story, program); 

     foreach (StoryProgram sp in joined) 
     { 
      Distribute(sp.Story, sp.Program); 
      //update the status here in DB 

     } 

下面是WCF服務和控制器在服務

public void UpdateProgram(ProgramData prg) 
{ 
    ServiceController.UpdateProgram(prg); 
} 

下面的代碼詳細

下面的代碼服務控制器

內部靜態無效UpdateProgram(ProgramData PRG) {

IProgramDAO prgDAO = DataAccessObjectFactory.GetProgramDAO(); 
    prgDAO.Update(prg); 


} 

我有我的故事,表中的狀態欄我要更新一次分配功能來完成。

任何幫助please.Thanks提前

回答

1

您將需要一個更新的方法添加到您的WCF服務,並調用,與新的數據,更新數據庫記錄。

Upate

鑑於你的評論,你應該能夠做這樣的事情:

for each (StoryProgram sp in joined) 
{ 
    Distribute(sp.Story, sp.Program);    

    // Make any changes you need to sp.Program 

    proxy.UpdateProgram(sp.Program); 
} 
+0

它已經在我的服務像公共無效UpdateProgram(ProgramData PRG) { ServiceController.UpdateProgram (PRG); } – Usher 2012-02-27 05:03:41

+0

非常感謝Andrew。 – Usher 2012-02-27 05:37:37