Search code examples
c#asp.netvb.netexchangewebservices

Exchange Web Services- Update tasks


Dim clientTZService As ExchangeService = New ExchangeService(ExchangeVersion.Exchange2010)


clientTZService.Credentials = New NetworkCredential(userEmail, userPass)
clientTZService.AutodiscoverUrl(userEmail, AddressOf RedirectionCallBack)


      Dim Task1 As Task = New Task(clientTZService)
      Task1.Subject = "New Task"
      Task1.Body = New MessageBody(String.Format("test"))
      Task1.StartDate = DateTime.Now
      Dim DueDate As DateTime = New DateTime(DateTime.Now.Year,      DateTime.Now.Month, DateTime.Now.Day + 2)
      Task1.DueDate = DueDate
          Task1.Recurrence = New Recurrence.MonthlyPattern(New DateTime(2017, 4, 11, 10, 0, 0), 1, 11)
          Task1.Recurrence.StartDate = New DateTime(2017, 4, 11, 10, 0, 0)
          Task1.Save(New FolderId(WellKnownFolderName.Tasks, "test@domain.com"))

Can anyone let me know the simplest way to update tasks using EWS with an Eg: Thank You.


Solution

  • After a painstaking research I think I have found a way to do this.This updates the task to completed!

    Please see below:

      Dim instance As ConflictResolutionMode =  ConflictResolutionMode.AlwaysOverwrite
    
    
                Dim tasksFolder As Folder = Folder.Bind(clientTZService, New FolderId(WellKnownFolderName.Tasks, useremail))
    
                tasksFolder.Load()
                For Each task1 As Task In tasksFolder.FindItems(New ItemView(100))
                    task1.Load()
                    If task1.Id.ToString = taskrow("OutlookTaskID") Then
                        task1.PercentComplete = 100
                        task1.Update(instance)
                        Exit For
                    End If
                Next