コード例 #1
0
ファイル: WssDataProvider.cs プロジェクト: nilavghosh/VChk
        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);
        }
コード例 #2
0
ファイル: WssDataProvider.cs プロジェクト: nilavghosh/VChk
        /// <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);
        }
コード例 #3
0
ファイル: WssDataProvider.cs プロジェクト: nilavghosh/VChk
        /// <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);
        }
コード例 #4
0
ファイル: WssDataProvider.cs プロジェクト: nilavghosh/VChk
        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);
        }