Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        public void FetchAlertsForOverLoadCondition()
        {
            string url = this.ConstructUrlParams(IIsAction.ALERTS, 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 taskAlertsClientAssignedTasks = new BCheck.Data.BCheckLists.ListsSoapClient(bnd, addr);
            taskAlertsClientAssignedTasks.GetListItemsCompleted += new EventHandler<BCheck.Data.BCheckLists.GetListItemsCompletedEventArgs>(taskAlertsClientAssignedTasks_GetListItemsCompleted);

            string queryXml = CamlHelper.QueryMyTasksDueToday(); ;
            XElement query = XElement.Parse(queryXml);

            string viewFieldsXml = CamlHelper.VIEWFIELDS_ASSIGNEDTASKSALERTS;
            XElement viewFields = XElement.Parse(viewFieldsXml);
            string queryOptionsXml = "<QueryOptions><DateInUtc>TRUE</DateInUtc></QueryOptions>";
            XElement queryOptions = XElement.Parse(queryOptionsXml);

            taskAlertsClientAssignedTasks.GetListItemsAsync(InitParams.Current.ListName, "", query, viewFields, "150", queryOptions, null);

            //fetch maanged tasks alerts
            BCheckLists.ListsSoapClient taskAlertsClientManagedTasks = new BCheck.Data.BCheckLists.ListsSoapClient(bnd, addr);
            taskAlertsClientManagedTasks.GetListItemsCompleted += new EventHandler<BCheck.Data.BCheckLists.GetListItemsCompletedEventArgs>(taskAlertsClientManagedTasks_GetListItemsCompleted);
            viewFieldsXml = CamlHelper.VIEWFIELDS_MANAGEDTASKSALERTS;
            queryXml = CamlHelper.QueryManagedTaskAlertsDueToday();
            query = XElement.Parse(queryXml);
            taskAlertsClientManagedTasks.GetListItemsAsync(InitParams.Current.ListName, "", query, viewFields, "150", queryOptions, null);
        }
Ejemplo n.º 3
0
        /// <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);
        }
Ejemplo n.º 4
0
        void ISharePointDataProvider.FetchBusinessAreas()
        {
            string url = ViewModel.OrgStructureUrl;
            EndpointAddress addr = new EndpointAddress(url);
            BasicHttpBinding bnd = new BasicHttpBinding();
            bnd.ReceiveTimeout = TimeSpan.FromMinutes(6);
            bnd.SendTimeout = TimeSpan.FromMinutes(6);
            bnd.OpenTimeout = TimeSpan.FromMinutes(6);
            bnd.CloseTimeout = TimeSpan.FromMinutes(6);
            bnd.MaxBufferSize = InitParams.Current.MaxBufferSize;
            bnd.MaxReceivedMessageSize = bnd.MaxBufferSize;

            string queryXml = CamlHelper.QueryBusinessAreasFromList();
            string viewFieldsXml = CamlHelper.VIEWFIELDS_BUSINESSAREAS;

            BCheckLists.ListsSoapClient listClient = new BCheck.Data.BCheckLists.ListsSoapClient(bnd, addr);
            listClient.GetListItemsCompleted += new EventHandler<BCheck.Data.BCheckLists.GetListItemsCompletedEventArgs>(listClient_GetListItemsOrgCompleted);
            XElement query = XElement.Parse(queryXml);
            XElement viewFields = XElement.Parse(viewFieldsXml);

            string queryOptionsXml = "<QueryOptions><DateInUtc>FALSE</DateInUtc><IncludeAttachmentUrls>FALSE</IncludeAttachmentUrls><IncludeMandatoryColumns>FALSE</IncludeMandatoryColumns></QueryOptions>";

            XElement queryOptions = XElement.Parse(queryOptionsXml);
            string maxrows = "1000";
            listClient.GetListItemsAsync(InitParams.Current.OrgListName, "", query, viewFields, maxrows, queryOptions, null);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Callback handler when a Task has been updated.
        /// Rationale: needed a place holder from where another query could be issued to fetch the updated Task item.
        /// Important to re-issue web service to fetch the Task, rather than rely on the XML fragment returned after UpdateListItem
        /// because of UTC options
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void UpdateSingleTaskItemCompletedHandler(
                object sender,
                BCheck.Data.BCheckLists.UpdateListItemsCompletedEventArgs e)
        {
            if ((e.Cancelled) || (e.Error != null))
            {
                TaskItemUpdateCompleteEventArgs args = new TaskItemUpdateCompleteEventArgs(e.Error, e.Cancelled, null);
                Deployment.Current.Dispatcher.BeginInvoke(delegate()
                {
                    TaskUpdateCompleteEvent(this, args);
                });

                return;
            }
            /*
             * loop throuhg the returned XML
             * find out if there were any errors
             * Issue another web service query to fetch complete data for the TaskItem that has got updated
             */
            XElement xresults = e.Result;
            XNamespace nsRow = "#RowsetSchema";
            XNamespace nsResults = "http://schemas.microsoft.com/sharepoint/soap/";
            var query = from x in xresults.Descendants()
                        where x.Name == nsResults + "Result"
                        select x;
            List<int> updatedtaskIDs = new List<int>();
            List<string> errorcodes = new List<string>();
            List<int> erroredtaskIDs = new List<int>();
            foreach (XElement result in query)
            {
                XElement error = result.Element(nsResults + "ErrorCode");
                string errorCode = error.Value;
                if (errorCode.Equals("0x00000000"))
                {
                    XElement row = result.Element(nsRow + "row");
                    int taskid = (int?)row.Attribute("ows_ID") ?? 0;
                    updatedtaskIDs.Add(taskid);
                }
                else
                {
                    //get the ErrorText element
                    XElement errorTxt = result.Element(nsResults + "ErrorText");
                    if (errorTxt != null) errorcodes.Add(errorTxt.Value);
                }
            }
            IEnumerable<TaskItem> updatedTasks = XmlToTaskObjects(xresults);
            foreach (TaskItem t in updatedTasks)
            {
                t.SetInitializationComplete();
            }
            Exception errors;
            if (errorcodes.Count != 0)
            {
                errors = new Exception(string.Format("Errors while updating {0} Task items, erorcode:{1}", errorcodes.Count, errorcodes[0]));
                TaskItemUpdateCompleteEventArgs evargs = new TaskItemUpdateCompleteEventArgs(errors, false, null);
                evargs.Errors = errorcodes;
                foreach (TaskItem t in updatedTasks) { evargs.UpdatedTasks.Add(t); }
                Deployment.Current.Dispatcher.BeginInvoke(delegate()
                {
                    TaskUpdateCompleteEvent(this, evargs);
                });
                return;
            }
            if (updatedTasks.Count() == 0)
            {
                TaskItemUpdateCompleteEventArgs evargs = new TaskItemUpdateCompleteEventArgs(null, false, null);
                evargs.Errors = new List<string>();
                Deployment.Current.Dispatcher.BeginInvoke(delegate()
                {
                    TaskUpdateCompleteEvent(this, evargs);
                });
                return;
            }
            //re-fetch the TaskItem data once more
            string url = this.ConstructUrlParams(IIsAction.QUERYSINGLE, null, 0);
            TaskItem firstTask = updatedTasks.First();
            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 listClient = new BCheck.Data.BCheckLists.ListsSoapClient(bnd, addr);
            string queryOptionsXml = "<QueryOptions><DateInUtc>TRUE</DateInUtc><IncludeAttachmentUrls>TRUE</IncludeAttachmentUrls><IncludeMandatoryColumns>FALSE</IncludeMandatoryColumns></QueryOptions>";
            XElement queryOptions = XElement.Parse(queryOptionsXml);
            string maxrows = BCheck.Data.InitParams.Current.MaxCamlRows.ToString();
            string queryXml = "";
            queryXml = CamlHelper.QueryFetchTaskWithID(firstTask.ID);
            XElement queryXe = XElement.Parse(queryXml);
            string viewFieldsXml = "";
            viewFieldsXml = CamlHelper.VIEWFIELDS_MYTASKSVERBOSE;
            XElement viewFields = XElement.Parse(viewFieldsXml);

            //listClient.GetListItemsCompleted +=
            //    delegate(object sender, BCheck.Data.BCheckLists.GetListItemsCompletedEventArgs e)
            //    {
            //    };
            listClient.GetListItemsCompleted += new EventHandler<BCheck.Data.BCheckLists.GetListItemsCompletedEventArgs>(listClient_GetListItemsCompleted);
            //this.FetchTasksCompleteEvent +=
            //        delegate(object sender1, TaskFetchCompletedEventArgs args1)
            //        {
            //            TaskItemUpdateCompleteEventArgs evargs = new TaskItemUpdateCompleteEventArgs(null, false, null);
            //            evargs.UpdatedTasks = args1.Tasks;  
            //            Deployment.Current.Dispatcher.BeginInvoke(delegate()
            //            {
            //                TaskUpdateCompleteEvent(this, evargs);
            //            });
            //        };

            //objectstate=QUERYSINGLE, so that the event handler knows to invoke the right call back
            TaskUpdateCompleteEvent(this, null);
            //listClient.GetListItemsAsync(
            //        InitParams.Current.ListName, "", queryXe, viewFields,
            //        maxrows, queryOptions, null, IIsAction.QUERYSINGLE);

        }
Ejemplo n.º 6
0
        /// <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);
        }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 8
0
        public virtual void FetchTasks(View vw, SearchParams paramSearch)
        {

            string queryXml = "";
            string viewFieldsXml = "";

            #region Old CamlCreator

            //switch (vw)
            //{
            //    case View.vwOpsChecklistLoad:
            //        //queryXml = CamlHelper.QueryMyTasksOnLoad();
            //        //viewFieldsXml = CamlHelper.VIEWFIELDS_MYTASKSVERBOSE;
            //        queryXml = CamlHelper.QueryMyTasksDueToday();
            //        viewFieldsXml = CamlHelper.VIEWFIELDS_MYTASKSVERBOSE;
            //        break;

            //    case View.vwDueToday | View.vwAssignedTasks:
            //        queryXml = CamlHelper.QueryMyTasksDueToday();
            //        viewFieldsXml = CamlHelper.VIEWFIELDS_MYTASKSVERBOSE;
            //        break;

            //    case View.vwOverDue | View.vwAssignedTasks:
            //        queryXml = CamlHelper.QueryMyTasksOverdue();
            //        viewFieldsXml = CamlHelper.VIEWFIELDS_MYTASKSVERBOSE;
            //        break;

            //    case View.vwCompletedApproved | View.vwAssignedTasks:
            //        queryXml = CamlHelper.QueryMyTasksApprovedComplete();
            //        viewFieldsXml = CamlHelper.VIEWFIELDS_MYTASKSVERBOSE;
            //        break;


            //    case View.vwDueToday | View.vwManagedTasks:
            //        queryXml = CamlHelper.QueryManagedTasksDueToday();
            //        viewFieldsXml = CamlHelper.VIEWFIELDS_MYTASKSVERBOSE;
            //        break;

            //    case View.vwOverDue | View.vwManagedTasks:
            //        queryXml = CamlHelper.QueryManagedTasksIncomplete();
            //        viewFieldsXml = CamlHelper.VIEWFIELDS_MYTASKSVERBOSE;
            //        break;

            //    case View.vwCompletedApproved | View.vwManagedTasks:
            //        queryXml = CamlHelper.QueryManagedTasksCompleted();
            //        viewFieldsXml = CamlHelper.VIEWFIELDS_MYTASKSVERBOSE;
            //        break;

            //    case View.vwCustomSearch:
            //        queryXml = CamlHelper.QueryCustomSearch(paramSearch);
            //        viewFieldsXml = CamlHelper.VIEWFIELDS_MYTASKSVERBOSE;
            //        break;

            //    case View.vwArchiveView:
            //        // If its the custom search do nothing, we just use the different service to query
            //        break;

            //    case View.vwAssignedTasks | View.vwNotApplicable:
            //        queryXml = CamlHelper.QueryAssignedTasksNotApplicable();
            //        viewFieldsXml = CamlHelper.VIEWFIELDS_MYTASKSVERBOSE;
            //        break;

            //    case View.vwManagedTasks | View.vwNotApplicable:
            //        queryXml = CamlHelper.QueryManagedTasksNotApplicable();
            //        viewFieldsXml = CamlHelper.VIEWFIELDS_MYTASKSVERBOSE;
            //        break;

            //    default:
            //        queryXml = "";
            //        throw new NotImplementedException("this view has not been implemented:" + vw.ToString());
            //    //break;
            //}
            //queryXml = queryXml.Replace("&", "&amp;");
            #endregion

            UserTasks taskids = MasterLookupService.Current.GetUserTaskIDs();
            if (vw == View.vwArchiveView || vw == View.vwCustomSearch)
            {
                //int hoursOffset = -12;
                //EndpointAddress addr = new EndpointAddress(ViewModel.OMDQueryAsmxUrl);
                //BasicHttpBinding bnd = new BasicHttpBinding();
                //bnd.ReceiveTimeout = TimeSpan.FromMinutes(6);
                //bnd.SendTimeout = TimeSpan.FromMinutes(6);
                //bnd.OpenTimeout = TimeSpan.FromMinutes(6);
                //bnd.CloseTimeout = TimeSpan.FromMinutes(6);
                //bnd.MaxBufferSize = InitParams.Current.MaxBufferSize;
                //bnd.MaxReceivedMessageSize = bnd.MaxBufferSize;
                //OMDQuerySoapClient omdQuery = new OMDQuerySoapClient(bnd, addr);

                //DateTime? startDate = paramSearch.StartDate;
                //DateTime? endDate = paramSearch.EndDate;

                //if (paramSearch.StartDate != null)
                //    startDate = ((DateTime)paramSearch.StartDate).AddHours(hoursOffset);
                //if (paramSearch.EndDate != null)
                //    endDate = ((DateTime)paramSearch.EndDate).AddDays(1).AddHours(hoursOffset).AddMinutes(-1);

                //omdQuery.QueryTasksCompleted += new EventHandler<BCheck.Data.BCheckOMDQuery.QueryTasksCompletedEventArgs>(omdBridge_QueryTasksCompleted);
                //omdQuery.QueryTasksAsync(ArchiveHelper.GetUserSearchText(paramSearch.AssignedTo), paramSearch.TaskName, ArchiveHelper.GetUserSearchText(paramSearch.Manager),
                //    paramSearch.StartDate, endDate, null);
                TaskFetchCompletedEventArgs args = new TaskFetchCompletedEventArgs();
                args.Tasks = new List<TaskItem>();
                FetchedTasks = new List<bCheckV2.Helpers.Definitions.TaskItem>();
                OpsChecklistDataAgentService opschecklistdataservice = new OpsChecklistDataAgentService();
                opschecklistdataservice.GetArchivedTasks(results =>
                {
                    FetchedTasks.AddRange(results);
                    foreach (bCheckV2.Helpers.Definitions.TaskItem task in results)
                    {
                        args.Tasks.Add(FormatTaskItem(task, View.vwAssignedTasks));
                    }
                    Deployment.Current.Dispatcher.BeginInvoke(delegate()
                    {
                        FetchTasksCompleteEvent(this, args);
                        return;
                    });

                }, ArchiveHelper.GetUserSearchText(paramSearch.AssignedTo), paramSearch.TaskName, ArchiveHelper.GetUserSearchText(paramSearch.Manager), paramSearch.StartDate.Value.ToString(), paramSearch.EndDate.Value.ToString(), paramSearch.Functional, paramSearch.BusinessArea, paramSearch.Status);
            }
            else if (vw == View.vwCustomSearch)
            {
                string url = this.ConstructUrlParams(IIsAction.QUERY, vw, 0);
                EndpointAddress addr = new EndpointAddress(url);//URL params injected, Mar 29
                BasicHttpBinding bnd = new BasicHttpBinding();
                bnd.ReceiveTimeout = TimeSpan.FromMinutes(6);
                bnd.SendTimeout = TimeSpan.FromMinutes(6);
                bnd.OpenTimeout = TimeSpan.FromMinutes(6);
                bnd.CloseTimeout = TimeSpan.FromMinutes(6);
                bnd.MaxBufferSize = InitParams.Current.MaxBufferSize;
                bnd.MaxReceivedMessageSize = bnd.MaxBufferSize;


                BCheckLists.ListsSoapClient listClient = new BCheck.Data.BCheckLists.ListsSoapClient(bnd, addr);
                listClient.GetListItemsCompleted += new EventHandler<BCheck.Data.BCheckLists.GetListItemsCompletedEventArgs>(listClient_GetListItemsCompleted);

                XElement query = XElement.Parse(queryXml);

                XElement viewFields = XElement.Parse(viewFieldsXml);

                string queryOptionsXml = "<QueryOptions><DateInUtc>TRUE</DateInUtc><IncludeAttachmentUrls>TRUE</IncludeAttachmentUrls><IncludeMandatoryColumns>FALSE</IncludeMandatoryColumns></QueryOptions>";
                XElement queryOptions = XElement.Parse(queryOptionsXml);
                string maxrows = BCheck.Data.InitParams.Current.MaxCamlRows.ToString();
                listClient.GetListItemsAsync(InitParams.Current.ListName, "", query, viewFields, maxrows, queryOptions, null);
            }
            else
            {
                TaskFetchCompletedEventArgs args = new TaskFetchCompletedEventArgs();
                args.Tasks = new List<TaskItem>();
                FetchedTasks = new List<bCheckV2.Helpers.Definitions.TaskItem>();
                OpsChecklistDataAgentService opschecklistdataservice = new OpsChecklistDataAgentService();
                if (vw == (View.vwAssignedTasks | View.vwDueToday) || vw == View.vwOpsChecklistLoad)
                {
                    opschecklistdataservice.GetAssignedTasksDueToday(results =>
                    {
                        FetchedTasks.AddRange(results);
                        foreach (bCheckV2.Helpers.Definitions.TaskItem task in results)
                        {
                            args.Tasks.Add(FormatTaskItem(task, View.vwAssignedTasks));
                        }
                        Deployment.Current.Dispatcher.BeginInvoke(delegate()
                        {
                            FetchTasksCompleteEvent(this, args);
                            return;
                        });

                    });
                }
                if (vw == (View.vwAssignedTasks | View.vwNotApplicable))
                {
                    opschecklistdataservice.GetAssignedTasksNotApplicable(results =>
                    {
                        FetchedTasks.AddRange(results);
                        foreach (bCheckV2.Helpers.Definitions.TaskItem task in results)
                        {
                            args.Tasks.Add(FormatTaskItem(task, View.vwAssignedTasks));
                        }
                        Deployment.Current.Dispatcher.BeginInvoke(delegate()
                        {
                            FetchTasksCompleteEvent(this, args);
                            return;
                        });

                    });
                }
                if (vw == (View.vwManagedTasks | View.vwNotApplicable))
                {
                    opschecklistdataservice.GetAssignedTasksNotApplicable(results =>
                    {
                        FetchedTasks.AddRange(results);
                        foreach (bCheckV2.Helpers.Definitions.TaskItem task in results)
                        {
                            args.Tasks.Add(FormatTaskItem(task, View.vwManagedTasks));
                        }
                        Deployment.Current.Dispatcher.BeginInvoke(delegate()
                        {
                            FetchTasksCompleteEvent(this, args);
                            return;
                        });

                    });
                }
                if (vw == (View.vwAssignedTasks | View.vwOverDue))
                {
                    opschecklistdataservice.GetAssignedTasksOverdue(results =>
                    {
                        FetchedTasks.AddRange(results);
                        foreach (bCheckV2.Helpers.Definitions.TaskItem task in results)
                        {
                            args.Tasks.Add(FormatTaskItem(task, View.vwAssignedTasks));

                        }
                        Deployment.Current.Dispatcher.BeginInvoke(delegate()
                        {
                            FetchTasksCompleteEvent(this, args);
                            return;
                        });

                    });
                }
                if (vw == (View.vwAssignedTasks | View.vwCompletedApproved))
                {
                    opschecklistdataservice.GetAssignedTasksCompleted(results =>
                    {
                        FetchedTasks.AddRange(results);
                        foreach (bCheckV2.Helpers.Definitions.TaskItem task in results)
                        {
                            args.Tasks.Add(FormatTaskItem(task, View.vwAssignedTasks));

                        }
                        Deployment.Current.Dispatcher.BeginInvoke(delegate()
                        {
                            FetchTasksCompleteEvent(this, args);
                            return;
                        });

                    });
                }
                if (vw == (View.vwManagedTasks | View.vwDueToday))
                {
                    opschecklistdataservice.GetManagedTasksDueToday(results =>
                    {
                        FetchedTasks.AddRange(results);
                        foreach (bCheckV2.Helpers.Definitions.TaskItem task in results)
                        {
                            args.Tasks.Add(FormatTaskItem(task, View.vwManagedTasks));

                        }
                        Deployment.Current.Dispatcher.BeginInvoke(delegate()
                        {
                            FetchTasksCompleteEvent(this, args);
                            return;
                        });

                    });
                }
                if (vw == (View.vwManagedTasks | View.vwOverDue))
                {
                    opschecklistdataservice.GetManagedTasksOverdue(results =>
                    {
                        FetchedTasks.AddRange(results);
                        foreach (bCheckV2.Helpers.Definitions.TaskItem task in results)
                        {
                            args.Tasks.Add(FormatTaskItem(task, View.vwManagedTasks));

                        }
                        Deployment.Current.Dispatcher.BeginInvoke(delegate()
                        {
                            FetchTasksCompleteEvent(this, args);
                            return;
                        });

                    });
                }
                if (vw == (View.vwManagedTasks | View.vwCompletedApproved))
                {
                    opschecklistdataservice.GetManagedTasksApproved(results =>
                    {
                        FetchedTasks.AddRange(results);
                        foreach (bCheckV2.Helpers.Definitions.TaskItem task in results)
                        {
                            args.Tasks.Add(FormatTaskItem(task, View.vwManagedTasks));
                        }
                        Deployment.Current.Dispatcher.BeginInvoke(delegate()
                        {
                            FetchTasksCompleteEvent(this, args);
                            return;
                        });

                    });
                }



                /*
                                string TasksCAMLQuery = CreateCAMLQuery(vw, paramSearch, taskids);
                                if (TasksCAMLQuery != "Overload")
                                {
                                    if (vw == View.vwOpsChecklistLoad || vw == (View.vwDueToday | View.vwAssignedTasks) || vw == (View.vwDueToday | View.vwManagedTasks))
                                    {
                                        TaskFetchCompletedEventArgs args;
                                        TaskAlertsFetchCompletedEventArgs alertargs;
                                        alertargs = new TaskAlertsFetchCompletedEventArgs();
                                        args = new TaskFetchCompletedEventArgs();
                                        args.Tasks = new List<TaskItem>();
                                        alertargs.AssignedTasks = new List<TaskItem>();
                                        alertargs.ManagedTasks = new List<TaskItem>();

                                        MasterLookupService.Current.GetTasksWithDetails(TasksCAMLQuery, tasks =>
                                        {
                                            alertargs.HasAssignedTasks = false;
                                            List<String> assignedtaskidstocheck = new List<String>();
                                            taskids.AssignedTasksDueToday.ForEach(tid => assignedtaskidstocheck.Add(tid));
                                            taskids.AssignedTasksOverdue.ForEach(tid => assignedtaskidstocheck.Add(tid));
                                            taskids.AssignedTasksCompletedApproved.ForEach(tid => assignedtaskidstocheck.Add(tid));
                                            taskids.AssignedTasksNotApplicable.ForEach(tid => assignedtaskidstocheck.Add(tid));
                                            foreach (var taskid in assignedtaskidstocheck)
                                            {
                                                var tasksassigned = tasks.Where(t => t.ID == int.Parse(taskid));
                                                if (tasksassigned.Count() > 0)
                                                {
                                                    TaskItem t = tasksassigned.First();
                                                    t.SetInitializationComplete();
                                                    if ((vw & View.vwAssignedTasks) == View.vwAssignedTasks || vw == View.vwOpsChecklistLoad)
                                                    {
                                                        args.Tasks.Add(t);
                                                    }
                                                    alertargs.AssignedTasks.Add(t);
                                                    alertargs.HasAssignedTasks = true;
                                                }
                                            }

                                            alertargs.HasManagedTasks = false;
                                            List<String> managedtaskstocheck = new List<string>();
                                            taskids.ManagedTasksDueToday.ForEach(tid => managedtaskstocheck.Add(tid));
                                            taskids.ManagedTasksIncomplete.ForEach(tid => managedtaskstocheck.Add(tid));
                                            taskids.ManagedTasksCompleted.ForEach(tid => managedtaskstocheck.Add(tid));
                                            taskids.ManagedTasksNotApplicable.ForEach(tid => managedtaskstocheck.Add(tid));
                                            foreach (var taskid in managedtaskstocheck)
                                            {
                                                var tasksmanaged = tasks.Where(t => t.ID == int.Parse(taskid));
                                                if (tasksmanaged.Count() > 0)
                                                {
                                                    TaskItem t = tasksmanaged.First();
                                                    t.SetInitializationComplete();
                                                    if ((vw & View.vwManagedTasks) == View.vwManagedTasks)
                                                    {
                                                        args.Tasks.Add(t);
                                                    }
                                                    alertargs.ManagedTasks.Add(t);
                                                    alertargs.HasManagedTasks = true;
                                                }
                                            }

                                            Deployment.Current.Dispatcher.BeginInvoke(delegate()
                                            {
                                                FetchTasksCompleteEvent(this, args);
                                                FetchTaskAlertsCompleteEvent(this, alertargs);
                                                return;

                                            });
                                        });
                                    }
                                    else
                                    {

                                        TaskFetchCompletedEventArgs args;
                                        args = new TaskFetchCompletedEventArgs();

                                        //string TasksCAMLQuery = CreateCAMLQuery(vw, paramSearch, taskids);
                                        args.Tasks = new List<TaskItem>();

                                        //Adding tasks which have been returned in the query, the task filtering happens in the CAML helper
                                        MasterLookupService.Current.GetTasksWithDetails(TasksCAMLQuery, tasks =>
                                        {
                                          //  if ((vw == (View.vwOverDue | View.vwAssignedTasks)) || (vw == (View.vwOverDue | View.vwManagedTasks)))
                                            if ((vw & View.vwOverDue) == View.vwOverDue )
                                            {
                                                foreach (var task in tasks)
                                                {
                                                    if (task.CreatedUtc < RegionalSetting.GetRegionalMidnightToUtc())
                                                    {
                                                        task.SetInitializationComplete();
                                                        args.Tasks.Add(task);
                                                    }
                                                }
                                            }
                                            else
                                            {
                                                foreach (var task in tasks)
                                                {
                                                    task.SetInitializationComplete();
                                                    args.Tasks.Add(task);
                                                }
                                            }
                                            Deployment.Current.Dispatcher.BeginInvoke(delegate()
                                            {
                                                FetchTasksCompleteEvent(this, args);
                                                return;
                                            });
                                        });
                                    }
                                }
                                else
                                {
                                    string url = this.ConstructUrlParams(IIsAction.QUERY, vw, 0);
                                    EndpointAddress addr = new EndpointAddress(url);//URL params injected, Mar 29
                                    BasicHttpBinding bnd = new BasicHttpBinding();
                                    bnd.ReceiveTimeout = TimeSpan.FromMinutes(6);
                                    bnd.SendTimeout = TimeSpan.FromMinutes(6);
                                    bnd.OpenTimeout = TimeSpan.FromMinutes(6);
                                    bnd.CloseTimeout = TimeSpan.FromMinutes(6);
                                    bnd.MaxBufferSize = InitParams.Current.MaxBufferSize;
                                    bnd.MaxReceivedMessageSize = bnd.MaxBufferSize;


                                    BCheckLists.ListsSoapClient listClient = new BCheck.Data.BCheckLists.ListsSoapClient(bnd, addr);
                                    listClient.GetListItemsCompleted += new EventHandler<BCheck.Data.BCheckLists.GetListItemsCompletedEventArgs>(listClient_GetListItemsCompleted);

                                    XElement query = XElement.Parse(queryXml);

                                    XElement viewFields = XElement.Parse(viewFieldsXml);

                                    string queryOptionsXml = "<QueryOptions><DateInUtc>TRUE</DateInUtc><IncludeAttachmentUrls>TRUE</IncludeAttachmentUrls><IncludeMandatoryColumns>FALSE</IncludeMandatoryColumns></QueryOptions>";
                                    XElement queryOptions = XElement.Parse(queryOptionsXml);
                                    string maxrows = BCheck.Data.InitParams.Current.MaxCamlRows.ToString();
                                    listClient.GetListItemsAsync(InitParams.Current.ListName, "", query, viewFields, maxrows, queryOptions, null);
                                    FetchAlertsForOverLoadCondition();
                                }*/
            }
        }
Ejemplo n.º 9
0
        public void AddAttachment(TaskItem t, string attachmentName, Stream contents)
        {
            string url = this.ConstructUrlParams(IIsAction.ADDATTACHMENT, 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 attachmentsClient = new BCheck.Data.BCheckLists.ListsSoapClient(bnd, addr);
            attachmentsClient.AddAttachmentCompleted += new EventHandler<BCheck.Data.BCheckLists.AddAttachmentCompletedEventArgs>(attachmentsClient_AddAttachmentCompleted);
            System.IO.MemoryStream memstm = (MemoryStream)contents;

            object[] userparams = { t, attachmentName };
            byte[] buff = new byte[memstm.Length];
            memstm.Read(buff, 0, (int)memstm.Length);
            attachmentsClient.AddAttachmentAsync(
                    InitParams.Current.ListName,
                    t.ID.ToString(), attachmentName, buff, userparams);
        }
Ejemplo n.º 10
0
        public void GetAttachments(TaskItem t)
        {
            BCheck.Data.ViewModel.Current.SelectedTask.AttachmentsURLs = null;
            BCheck.Data.ViewModel.Current.IsUpdating = true;

            string url = this.ConstructUrlParams(IIsAction.GETATTACHMENTS, 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 attachmentsClient = new BCheck.Data.BCheckLists.ListsSoapClient(bnd, addr);
            attachmentsClient.GetAttachmentCollectionCompleted += new EventHandler<BCheck.Data.BCheckLists.GetAttachmentCollectionCompletedEventArgs>(attachmentsClient_GetAttachmentCollectionCompleted);
            attachmentsClient.GetAttachmentCollectionAsync(
                    InitParams.Current.ListName,
                    t.ID.ToString());
        }
Ejemplo n.º 11
0
        public void DeleteAttachment(TaskItem t, object attachmentidentifier)
        {
            string url = this.ConstructUrlParams(IIsAction.DELETEATTACHMENT, 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 attachmentsDeleteClient = new BCheck.Data.BCheckLists.ListsSoapClient(bnd, addr);
            attachmentsDeleteClient.DeleteAttachmentCompleted += new EventHandler<System.ComponentModel.AsyncCompletedEventArgs>(attachmentsDeleteClient_DeleteAttachmentCompleted);

            object[] userparams = { t, (string)attachmentidentifier };
            attachmentsDeleteClient.DeleteAttachmentAsync(
                                    InitParams.Current.ListName,
                                    t.ID.ToString(),
                                    (string)attachmentidentifier, userparams);
        }