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; }
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; }
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); }
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); }
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; }
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; }