コード例 #1
0
        internal static UserQueryEntity FromSearchControl(SearchControl searchControl)
        {
            QueryDescription description = DynamicQueryServer.GetQueryDescription(searchControl.QueryName);

            return(searchControl.GetQueryRequest(true).ToUserQuery(description,
                                                                   QueryClient.GetQuery(searchControl.QueryName),
                                                                   FindOptions.DefaultPagination,
                                                                   searchControl.SimpleFilterBuilder != null));
        }
コード例 #2
0
        void ChartRenderer_DataContextChanged(object sender, DependencyPropertyChangedEventArgs e)
        {
            if (!(DataContext is ChartRequest))
            {
                return;
            }

            Settings    = Finder.GetQuerySettings(Request.QueryName);
            Description = DynamicQueryServer.GetQueryDescription(Request.QueryName);
        }
コード例 #3
0
        void UserQuery_Loaded(object sender, RoutedEventArgs e)
        {
            if (QueryDescription == null)
            {
                UserQueryEntity uq = (UserQueryEntity)DataContext;

                QueryDescription = DynamicQueryServer.GetQueryDescription(QueryClient.GetQueryName(uq.Query.Key));
            }

            tbCurrentEntity.Text = UserQueryMessage.Use0ToFilterCurrentEntity.NiceToString().FormatWith(CurrentEntityConverter.CurrentEntityKey);
        }
コード例 #4
0
        private void ReloadNotes()
        {
            Entity entity = DataContext as Entity;

            if (entity == null || entity.IsNew)
            {
                // lvNotas.ItemsSource = null;
                return;
            }

            var func = CustomFilter.TryGetValue(DataContext.GetType());

            DynamicQueryServer.QueryCountBatch(new QueryCountOptions(typeof(NoteEntity))
            {
                FilterOptions =
                {
                    func != null ? func(entity) : new FilterOption("Target", DataContext)
                    {
                        Frozen = true
                    }
                }
            }, count =>
            {
                if (count == 0)
                {
                    tbNotes.FontWeight         = FontWeights.Normal;
                    btnExploreNotes.Visibility = Visibility.Collapsed;
                }
                else
                {
                    tbNotes.FontWeight         = FontWeights.Bold;
                    btnExploreNotes.FontWeight = FontWeights.Bold;
                    btnExploreNotes.Visibility = Visibility.Visible;
                    btnExploreNotes.Content    = count + " " + (count > 1 ? NoteMessage._note.NiceToString() :  NoteMessage._notes.NiceToString());
                }

                if (count > 0 && ForceShow != null)
                {
                    ForceShow();
                }
            }, () => { });
        }
コード例 #5
0
        void ChartWindow_Loaded(object sender, RoutedEventArgs e)
        {
            filterBuilder.Filters = chartRenderer.FilterOptions = new FreezableCollection <FilterOption>();

            chartRenderer.UpdateFiltersOrdersUserInterface();

            ((INotifyCollectionChanged)filterBuilder.Filters).CollectionChanged += Filters_CollectionChanged;
            Request.ChartRequestChanged += Request_ChartRequestChanged;

            chartBuilder.Description = DynamicQueryServer.GetQueryDescription(Request.QueryName);

            var entityColumn = chartBuilder.Description.Columns.SingleOrDefaultEx(a => a.IsEntity);

            EntityType = Lite.Extract(entityColumn.Type);

            qtbFilters.Token           = null;
            qtbFilters.SubTokensEvent += new Func <QueryToken, List <QueryToken> >(qtbFilters_SubTokensEvent);

            SetTitle();
        }
コード例 #6
0
        void CountAlerts(Entity entity)
        {
            var func = CustomFilter.TryGetValue(DataContext.GetType());

            DynamicQueryServer.QueryGroupBatch(new QueryGroupOptions(typeof(AlertEntity))
            {
                FilterOptions = new List <FilterOption>
                {
                    func != null ?  func((Entity)DataContext) : new FilterOption("Target", DataContext)
                    {
                        Frozen = true
                    },
                },
                ColumnOptions = new List <ColumnOption>
                {
                    new ColumnOption("Entity.CurrentState"),
                    new ColumnOption("Count")
                },
                OrderOptions = new List <OrderOption>
                {
                    new OrderOption("Entity.CurrentState"),
                }
            },
                                               resultTable =>
            {
                if (resultTable.Rows.Length == 0)
                {
                    icAlerts.Visibility = Visibility.Collapsed;
                }
                else
                {
                    icAlerts.Visibility  = Visibility.Visible;
                    icAlerts.ItemsSource = resultTable.Rows;

                    tbAlerts.FontWeight = FontWeights.Bold;

                    ForceShow?.Invoke();
                }
            }, () => { });
        }
コード例 #7
0
 public override QueryDescription GetDescription(object queryName)
 {
     return(DynamicQueryServer.GetQueryDescription(queryName));
 }