void ISharePointDataProvider.UpdateLateCompleteReasonWithCompleteFlag(IEnumerable<TaskItem> tasks) { string url = this.ConstructUrlParams(IIsAction.UPDATELATEINCOMPLETEREASON, null, tasks.Count()); EndpointAddress addr = new EndpointAddress(url); BasicHttpBinding bnd = new BasicHttpBinding(); bnd.MaxBufferSize = InitParams.Current.MaxBufferSize; bnd.MaxReceivedMessageSize = bnd.MaxBufferSize; BCheckLists.ListsSoapClient changeTaskUsersClient = new BCheck.Data.BCheckLists.ListsSoapClient(bnd, addr); changeTaskUsersClient.UpdateListItemsCompleted += new EventHandler<BCheck.Data.BCheckLists.UpdateListItemsCompletedEventArgs>(assignedTasksUpdateClient_UpdateListItemsCompleted); string xmlUdpates; xmlUdpates = CamlHelper.QueryUpdateLateIncompleteReasonWithCompleteStatus(tasks); XElement updateQuery = XElement.Parse(xmlUdpates); changeTaskUsersClient.UpdateListItemsAsync(InitParams.Current.ListName, updateQuery); }
/// <summary> /// Method for updating the ownership of specified Tasks /// </summary> /// <param name="tasks"></param> /// <param name="assignToSelf">If set to True then the current user is made the owner</param> public void UpdateTasksOwnership(IEnumerable<TaskItem> tasks, bool assignToSelf) { string url = this.ConstructUrlParams(IIsAction.UPDATEOWNERSHIP, null, tasks.Count()); var addr = new EndpointAddress(url);//URL params injected, Mar 29 var bnd = new BasicHttpBinding { MaxBufferSize = InitParams.Current.MaxBufferSize }; bnd.MaxReceivedMessageSize = bnd.MaxBufferSize; var changeTaskUsersClient = new BCheck.Data.BCheckLists.ListsSoapClient(bnd, addr); //if more than 1 Task is being updated then treat it like a bulk update, otherwise single Task update , i.e. no refresh of current view if (tasks.Count() > 1) { changeTaskUsersClient.UpdateListItemsCompleted += assignedTasksUpdateClient_UpdateListItemsCompleted; } else { changeTaskUsersClient.UpdateListItemsCompleted += UpdateSingleTaskItemCompletedHandler; } string xmlUdpates = CamlHelper.QueryUpdateTaskOwnership(tasks, assignToSelf); XElement updateQuery = XElement.Parse(xmlUdpates); changeTaskUsersClient.UpdateListItemsAsync(InitParams.Current.ListName, updateQuery); }
/// <summary> /// Updates the Comments for the specified Tasks /// April 21 /// </summary> /// <param name="tasks"></param> public void UpdateComments(IEnumerable<TaskItem> tasks) { string url = this.ConstructUrlParams(IIsAction.UPDATECOMMENTS, null, tasks.Count()); EndpointAddress addr = new EndpointAddress(url);//URL params injected, Mar 29 BasicHttpBinding bnd = new BasicHttpBinding(); bnd.MaxBufferSize = InitParams.Current.MaxBufferSize; bnd.MaxReceivedMessageSize = bnd.MaxBufferSize; BCheckLists.ListsSoapClient changeTaskUsersClient = new BCheck.Data.BCheckLists.ListsSoapClient(bnd, addr); changeTaskUsersClient.UpdateListItemsCompleted += new EventHandler<BCheck.Data.BCheckLists.UpdateListItemsCompletedEventArgs>(assignedTasksUpdateClient_UpdateListItemsCompleted); string xmlUdpates; xmlUdpates = CamlHelper.QueryUpdateComments(tasks); XElement updateQuery = XElement.Parse(xmlUdpates); changeTaskUsersClient.UpdateListItemsAsync(InitParams.Current.ListName, updateQuery); }
public void UpdateTaskItem(TaskItem t) { string url = this.ConstructUrlParams(IIsAction.UPDATESINGLE, null, 0); EndpointAddress addr = new EndpointAddress(url);//URL params injected, Mar 29 BasicHttpBinding bnd = new BasicHttpBinding(); bnd.MaxBufferSize = InitParams.Current.MaxBufferSize; bnd.MaxReceivedMessageSize = bnd.MaxBufferSize; BCheckLists.ListsSoapClient taskeditClient = new BCheck.Data.BCheckLists.ListsSoapClient(bnd, addr); taskeditClient.UpdateListItemsCompleted += new EventHandler<BCheck.Data.BCheckLists.UpdateListItemsCompletedEventArgs>(UpdateSingleTaskItemCompletedHandler); string xmlUdpates = ""; int role = 0x0; //use bit mask. 0x1=assigned, 0x2=manager if (TaskItem.IsUserInAssignedTo(ViewModel.Current.WssUserId, t)) role = role | 0x1;//sep 20 if (TaskItem.IsUserManager(ViewModel.Current.WssUserId, t)) role = role | 0x2;//sep 20 if (role == 0x1) { ViewModel.Current.Status.AddToLog(string.Format("Updating Task item '{0}' as an assigned user", t.TaskName), false); xmlUdpates = CamlHelper.QueryUpdateTaskEdit(t, View.vwAssignedTasks, TaskItem.IsUserInAssignedTo(ViewModel.Current.WssUserId, t), TaskItem.IsUserManager(ViewModel.Current.WssUserId, t)); } if ((role & 0x2) > 0) { ViewModel.Current.Status.AddToLog(string.Format("Updating Task item '{0}' as a manager user", t.TaskName), false); xmlUdpates = CamlHelper.QueryUpdateTaskEdit(t, View.vwManagedTasks, TaskItem.IsUserInAssignedTo(ViewModel.Current.WssUserId, t), TaskItem.IsUserManager(ViewModel.Current.WssUserId, t)); } if (role == 0x0) { throw new InvalidOperationException(string.Format("The Task '{0}' cannot be udpated because the user is neither an assigned to or a manager", t.TaskName)); } XElement updateQuery = XElement.Parse(xmlUdpates); taskeditClient.UpdateListItemsAsync(InitParams.Current.ListName, updateQuery); }