コード例 #1
0
        public void Initialize_WorkQueueItemsGetCount_Total_Completed(Object sender, Server.Application.WorkQueueItemsGetCountCompletedEventArgs e)
        {
            if (SetExceptionMessage(e))
            {
                return;
            }

            queueTotalItems = e.Result;

            WorkQueueItemsAvailableCount.Text = "Retreiving / " + queueTotalItems.ToString();


            // RECREATE FILTERS FOR ASYNCHRONOUS CALL

            ObservableCollection <Mercury.Server.Application.DataFilterDescriptor> availableFilters = new ObservableCollection <Mercury.Server.Application.DataFilterDescriptor> ();

            availableFilters.Add(MercuryApplication.CreateFilterDescriptor("WorkQueueId", Mercury.Server.Application.DataFilterOperator.IsEqualTo, WorkQueueSelectedId));

            availableFilters.Add(MercuryApplication.CreateFilterDescriptor("IsCompleted", Mercury.Server.Application.DataFilterOperator.IsEqualTo, false));

            availableFilters.Add(MercuryApplication.CreateFilterDescriptor("HasConstraintDatePassed", Mercury.Server.Application.DataFilterOperator.IsEqualTo, true));

            availableFilters.Add(MercuryApplication.CreateFilterDescriptor("IsAssigned", Mercury.Server.Application.DataFilterOperator.IsEqualTo, false));

            availableFilters.Add(MercuryApplication.CreateFilterDescriptor("WithinWorkTimeRestrictions", Mercury.Server.Application.DataFilterOperator.IsEqualTo, true));

            MercuryApplication.WorkQueueItemsGetCount(availableFilters, false, Initialize_WorkQueueItemsGetCount_Available_Completed);

            return;
        }
コード例 #2
0
        private void InitializeAvailableCount()
        {
            // UPDATE COUNT

            Int64 queueTotalItems = 0;

            Int64 queueAvailableItems = 0;


            List <Mercury.Server.Application.DataFilterDescriptor> filters = new List <Mercury.Server.Application.DataFilterDescriptor> ();

            filters.Add(MercuryApplication.CreateFilterDescriptor("WorkQueueId", Mercury.Server.Application.DataFilterOperator.IsEqualTo, SelectedWorkQueueId));

            filters.Add(MercuryApplication.CreateFilterDescriptor("IsCompleted", Mercury.Server.Application.DataFilterOperator.IsEqualTo, false));

            queueTotalItems = MercuryApplication.WorkQueueItemsGetCount(SelectedWorkQueue.GetWorkView, filters, UseCaching);


            filters.Add(MercuryApplication.CreateFilterDescriptor("HasConstraintDatePassed", Mercury.Server.Application.DataFilterOperator.IsEqualTo, true));

            filters.Add(MercuryApplication.CreateFilterDescriptor("IsAssigned", Mercury.Server.Application.DataFilterOperator.IsEqualTo, false));

            filters.Add(MercuryApplication.CreateFilterDescriptor("WithinWorkTimeRestrictions", Mercury.Server.Application.DataFilterOperator.IsEqualTo, true));

            queueAvailableItems = MercuryApplication.WorkQueueItemsGetCount(SelectedWorkQueue.GetWorkView, filters, UseCaching);


            WorkQueueItemsAvailableCount.Text = queueAvailableItems.ToString() + " / " + queueTotalItems.ToString();


            return;
        }
コード例 #3
0
        private List <Mercury.Server.Application.DataFilterDescriptor> MemberFilters()
        {
            List <Mercury.Server.Application.DataFilterDescriptor> filters = new List <Mercury.Server.Application.DataFilterDescriptor> ();

            filters.Add(MercuryApplication.CreateFilterDescriptor("ItemObjectType", Mercury.Server.Application.DataFilterOperator.IsEqualTo, "Member"));

            filters.Add(MercuryApplication.CreateFilterDescriptor("ItemObjectId", Mercury.Server.Application.DataFilterOperator.IsEqualTo, Member.Id));

            return(filters);
        }
コード例 #4
0
        private ObservableCollection <Mercury.Server.Application.DataFilterDescriptor> MyAssignedWork_ItemFilters()
        {
            // BUILD FILTERS COLLECTION

            ObservableCollection <Mercury.Server.Application.DataFilterDescriptor> filters = new ObservableCollection <Mercury.Server.Application.DataFilterDescriptor> ();


            filters.Add(MercuryApplication.CreateFilterDescriptor("AssignedToSecurityAuthorityId", Mercury.Server.Application.DataFilterOperator.IsEqualTo, MercuryApplication.Session.SecurityAuthorityId));

            filters.Add(MercuryApplication.CreateFilterDescriptor("AssignedToUserAccountId", Mercury.Server.Application.DataFilterOperator.IsEqualTo, MercuryApplication.Session.UserAccountId));

            filters.Add(MercuryApplication.CreateFilterDescriptor("IsCompleted", Mercury.Server.Application.DataFilterOperator.IsEqualTo, false));


            return(filters);
        }
コード例 #5
0
        private void InitializeAvailableCount()
        {
            // UPDATE COUNT

            queueTotalItems = 0;

            queueAvailableItems = 0;

            WorkQueueItemsAvailableCount.Text = "Retreiving";


            ObservableCollection <Mercury.Server.Application.DataFilterDescriptor> filters = new ObservableCollection <Mercury.Server.Application.DataFilterDescriptor> ();

            filters.Add(MercuryApplication.CreateFilterDescriptor("WorkQueueId", Mercury.Server.Application.DataFilterOperator.IsEqualTo, WorkQueueSelectedId));

            filters.Add(MercuryApplication.CreateFilterDescriptor("IsCompleted", Mercury.Server.Application.DataFilterOperator.IsEqualTo, false));

            MercuryApplication.WorkQueueItemsGetCount(filters, false, Initialize_WorkQueueItemsGetCount_Total_Completed);



            return;
        }
コード例 #6
0
        protected void WorkQueueItemsGrid_OnNeedDataSource(Object sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
        {
            if (!e.IsFromDetailTable)
            {
                // MASTER TABLE VIEW NEEDS DATA SOURCE

                switch (e.RebindReason)
                {
                case Telerik.Web.UI.GridRebindReason.InitialLoad:

                case Telerik.Web.UI.GridRebindReason.ExplicitRebind:

                case Telerik.Web.UI.GridRebindReason.PostBackEvent:                 // ALL DATA IS PRE-LOADED

                case Telerik.Web.UI.GridRebindReason.PostbackViewStateNotPersisted: // ALL DATA IS PRE-LOADED


                    Int64 filteredItems = 0;

                    Int64 totalItems = 0;

                    Int32 filterNodeState;


                    List <Mercury.Server.Application.DataFilterDescriptor> filters = new List <Mercury.Server.Application.DataFilterDescriptor> ();

                    filters.Add(MercuryApplication.CreateFilterDescriptor("WorkQueueId", Mercury.Server.Application.DataFilterOperator.IsEqualTo, WorkQueueSelected.Id));


                    totalItems = MercuryApplication.WorkQueueItemsGetCount(filters, false);

                    #region Create Filters from Selections

                    filterNodeState = FilterNodeState("FilterIsCompleted");

                    if (filterNodeState != 1)
                    {
                        filters.Add(MercuryApplication.CreateFilterDescriptor("IsCompleted", Mercury.Server.Application.DataFilterOperator.IsEqualTo, (filterNodeState == 2)));
                    }

                    filterNodeState = FilterNodeState("FilterIsAssigned");

                    if (filterNodeState != 1)
                    {
                        filters.Add(MercuryApplication.CreateFilterDescriptor("IsAssigned", Mercury.Server.Application.DataFilterOperator.IsEqualTo, (filterNodeState == 2)));
                    }

                    filterNodeState = FilterNodeState("FilterHasConstraintDatePassed");

                    if (filterNodeState != 1)
                    {
                        filters.Add(MercuryApplication.CreateFilterDescriptor("HasConstraintDatePassed", Mercury.Server.Application.DataFilterOperator.IsEqualTo, (filterNodeState == 2)));
                    }

                    filterNodeState = FilterNodeState("FilterHasThresholdDatePassed");

                    if (filterNodeState != 1)
                    {
                        filters.Add(MercuryApplication.CreateFilterDescriptor("HasThresholdDatePassed", Mercury.Server.Application.DataFilterOperator.IsEqualTo, (filterNodeState == 2)));
                    }

                    filterNodeState = FilterNodeState("FilterHasDueDatePassed");

                    if (filterNodeState != 1)
                    {
                        filters.Add(MercuryApplication.CreateFilterDescriptor("HasDueDatePassed", Mercury.Server.Application.DataFilterOperator.IsEqualTo, (filterNodeState == 2)));
                    }

                    filterNodeState = FilterNodeState("FilterWithinWorkTimeRestrictions");

                    if (filterNodeState != 1)
                    {
                        filters.Add(MercuryApplication.CreateFilterDescriptor("WithinWorkTimeRestrictions", Mercury.Server.Application.DataFilterOperator.IsEqualTo, (filterNodeState == 2)));
                    }


                    if (FilterNodeState("FilterWorkQueueItemName") == 1)
                    {
                        Telerik.Web.UI.RadComboBox FilterWorkQueueItemNameOperatorSelection = (Telerik.Web.UI.RadComboBox)

                                                                                                  ((Telerik.Web.UI.RadTreeView)BasicFiltersSelection.Items[0].FindControl("BasicFiltersTreeView")).FindNodeByValue("FilterWorkQueueItemName").FindControl("FilterWorkQueueItemNameOperatorSelection");

                        Telerik.Web.UI.RadTextBox FilterWorkQueueItemNameValue = (Telerik.Web.UI.RadTextBox)

                                                                                     ((Telerik.Web.UI.RadTreeView)BasicFiltersSelection.Items[0].FindControl("BasicFiltersTreeView")).FindNodeByValue("FilterWorkQueueItemName").FindControl("FilterWorkQueueItemNameValue");


                        switch (FilterWorkQueueItemNameOperatorSelection.SelectedValue)
                        {
                        case "Contains": filters.Add(MercuryApplication.CreateFilterDescriptor("Name", Mercury.Server.Application.DataFilterOperator.Contains, FilterWorkQueueItemNameValue.Text)); break;

                        case "StartsWith": filters.Add(MercuryApplication.CreateFilterDescriptor("Name", Mercury.Server.Application.DataFilterOperator.StartsWith, FilterWorkQueueItemNameValue.Text)); break;

                        case "EndsWith": filters.Add(MercuryApplication.CreateFilterDescriptor("Name", Mercury.Server.Application.DataFilterOperator.EndsWith, FilterWorkQueueItemNameValue.Text)); break;
                        }
                    }

                    if (FilterNodeState("FilterAssignedToDisplayName") == 1)
                    {
                        Telerik.Web.UI.RadComboBox FilterAssignedToDisplayNameOperatorSelection = (Telerik.Web.UI.RadComboBox)

                                                                                                      ((Telerik.Web.UI.RadTreeView)BasicFiltersSelection.Items[0].FindControl("BasicFiltersTreeView")).FindNodeByValue("FilterAssignedToDisplayName").FindControl("FilterAssignedToDisplayNameOperatorSelection");

                        Telerik.Web.UI.RadTextBox FilterAssignedToDisplayNameValue = (Telerik.Web.UI.RadTextBox)

                                                                                         ((Telerik.Web.UI.RadTreeView)BasicFiltersSelection.Items[0].FindControl("BasicFiltersTreeView")).FindNodeByValue("FilterAssignedToDisplayName").FindControl("FilterAssignedToDisplayNameValue");


                        switch (FilterAssignedToDisplayNameOperatorSelection.SelectedValue)
                        {
                        case "Contains": filters.Add(MercuryApplication.CreateFilterDescriptor("AssignedToUserDisplayName", Mercury.Server.Application.DataFilterOperator.Contains, FilterAssignedToDisplayNameValue.Text)); break;

                        case "StartsWith": filters.Add(MercuryApplication.CreateFilterDescriptor("AssignedToUserDisplayName", Mercury.Server.Application.DataFilterOperator.StartsWith, FilterAssignedToDisplayNameValue.Text)); break;

                        case "EndsWith": filters.Add(MercuryApplication.CreateFilterDescriptor("AssignedToUserDisplayName", Mercury.Server.Application.DataFilterOperator.EndsWith, FilterAssignedToDisplayNameValue.Text)); break;
                        }
                    }
                    #endregion


                    // UPDATE COUNT

                    filteredItems = MercuryApplication.WorkQueueItemsGetCount(WorkQueueViewSelected, filters, false);

                    WorkQueueItemsAvailableCount.Text = filteredItems.ToString() + " / " + totalItems.ToString();

                    WorkQueueItemsGrid.VirtualItemCount = Convert.ToInt32(filteredItems);


                    List <Mercury.Server.Application.DataSortDescriptor> sorts = new List <Server.Application.DataSortDescriptor> ();

                    foreach (Telerik.Web.UI.GridSortExpression currentSortExpression in WorkQueueItemsGrid.MasterTableView.SortExpressions)
                    {
                        switch (currentSortExpression.SortOrder)
                        {
                        case Telerik.Web.UI.GridSortOrder.Ascending:

                        case Telerik.Web.UI.GridSortOrder.Descending:

                            sorts.Add(MercuryApplication.CreateSortDescription(currentSortExpression.FieldName, ((currentSortExpression.SortOrder == Telerik.Web.UI.GridSortOrder.Ascending) ? Mercury.Server.Application.DataSortDirection.Ascending : Mercury.Server.Application.DataSortDirection.Descending)));

                            break;
                        }
                    }


                    Int32 initialRow = (WorkQueueItemsGrid.CurrentPageIndex * WorkQueueItemsGrid.PageSize) + 1;

                    List <Client.Core.Work.WorkQueueItem> workQueueItems = MercuryApplication.WorkQueueItemsGetByViewPage(WorkQueueViewSelected, filters, sorts, initialRow, WorkQueueItemsGrid.PageSize, false);

                    WorkQueueItemsGrid.DataSource = workQueueItems;

                    break;

                default:

                    System.Diagnostics.Debug.WriteLine("Unhandled Master Rebind Reason: " + e.RebindReason);

                    break;
                }
            }

            else   // DETAIL TABLE NEEDS DATA SOURCE

            {
                WorkQueueItemsGrid.MasterTableView.DetailTables[0].DataSource = WorkQueueItemSenders;
            }

            return;
        }