コード例 #1
0
 public QueryBuilderFilter(IADOTabularColumn obj, IModelCapabilities modelCapabilities, IEventAggregator eventAggregator)
 {
     TabularObject     = obj;
     ModelCapabilities = modelCapabilities;
     EventAggregator   = eventAggregator;
     SetDefaultFilterType();
 }
コード例 #2
0
        public void TestSetup()
        {
            // Setup the modelCaps variable
            var mockModelCaps = new Mock <IModelCapabilities>();

            mockFuncs = new Mock <IDAXFunctions>();
            mockFuncs.Setup(f => f.TreatAs).Returns(true);
            mockModelCaps.Setup(c => c.DAXFunctions).Returns(mockFuncs.Object);
            modelCaps = mockModelCaps.Object;
        }
コード例 #3
0
        public void TestSetup()
        {
            // Setup the modelCaps variable
            var mockModelCaps = new Mock <IModelCapabilities>();

            mockFuncs = new Mock <IDAXFunctions>();
            mockFuncs.Setup(f => f.TreatAs).Returns(true);
            mockModelCaps.Setup(c => c.DAXFunctions).Returns(mockFuncs.Object);
            modelCaps     = mockModelCaps.Object;
            _blankOrderBy = new List <QueryBuilderColumn>();
            mockOptions   = new Mock <IGlobalOptions>().Object;
        }
コード例 #4
0
        public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
        {
            // Load the JSON for the Result into a JObject
            JObject jo = JObject.Load(reader);

            // Construct a dummy copy of the VM here so that we can populate the Columns, Filters and OrderBy collections
            var vm = new QueryBuilderViewModel(null, null, null);

            // Read the properties which will be used as constructor parameters
            foreach (var col in jo["Columns"].ToArray())
            {
                IADOTabularColumn obj    = col["TabularObject"].ToObject <ADOTabularColumnStub>();
                bool   isModelItem       = (bool)col["IsModelItem"];
                bool   isOverridden      = (bool)col["IsOverriden"];
                string measureExpression = col["MeasureExpression"].ToString();
                var    queryBuilderCol   = new QueryBuilderColumn(obj, isModelItem);
                queryBuilderCol.MeasureExpression = isOverridden?measureExpression:string.Empty;
                vm.Columns.Add(queryBuilderCol);
            }

            foreach (var filter in jo["Filters"]["Items"].ToArray())
            {
                IADOTabularColumn  obj               = filter["TabularObject"].ToObject <ADOTabularColumnStub>();
                FilterType         filterType        = filter["FilterType"].ToObject <FilterType>();
                string             filterValue       = filter["FilterValue"].ToString();
                string             filterValue2      = filter["FilterValue2"].ToString();
                IModelCapabilities modelCapabilities = filter["ModelCapabilities"].ToObject <ADOTabularModelCapabilities>();
                var queryBuilderFilter               = new QueryBuilderFilter(obj, modelCapabilities);
                queryBuilderFilter.FilterType   = filterType;
                queryBuilderFilter.FilterValue  = filterValue;
                queryBuilderFilter.FilterValue2 = filterValue2;

                vm.Filters.Add(queryBuilderFilter);
            }


            // Return the result
            return(vm);
        }
コード例 #5
0
 public QueryBuilderFilter(IADOTabularColumn obj, IModelCapabilities modelCapabilities)
 {
     TabularObject     = obj;
     ModelCapabilities = modelCapabilities;
 }
コード例 #6
0
        public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
        {
            // Load the JSON for the Result into a JObject
            JObject jo = JObject.Load(reader);

            // Construct a dummy copy of the VM here so that we can populate the Columns, Filters and OrderBy collections
            var vm = new QueryBuilderViewModel(_eventAggregator, _document, _options);

            // Read the properties which will be used as constructor parameters
            foreach (var col in jo["Columns"].ToArray())
            {
                IADOTabularColumn obj           = col["TabularObject"].ToObject <ADOTabularColumnStub>();
                bool          isModelItem       = (bool)col["IsModelItem"];
                bool          isOverridden      = (bool)col["IsOverriden"];
                SortDirection sortDirection     = SortDirection.ASC;
                var           _                 = Enum.TryParse(col["SortDirection"].ToString(), out sortDirection);
                string        measureExpression = col["MeasureExpression"].ToString();
                string        measureCaption    = col["Caption"].ToString();
                var           queryBuilderCol   = new QueryBuilderColumn(obj, isModelItem, _eventAggregator);
                queryBuilderCol.MeasureExpression = isOverridden?measureExpression:string.Empty;
                queryBuilderCol.SortDirection     = sortDirection;
                if (isOverridden)
                {
                    queryBuilderCol.Caption = measureCaption;
                }
                vm.Columns.Add(queryBuilderCol);
            }

            foreach (var filter in jo["Filters"]["Items"].ToArray())
            {
                IADOTabularColumn obj         = filter["TabularObject"].ToObject <ADOTabularColumnStub>();
                FilterType        filterType  = filter["FilterType"].ToObject <FilterType>();
                string            filterValue = filter["FilterValue"].ToString();

                var filterValueIsParameterToken  = filter["FilterValueIsParameter"];
                var filterValue2IsParameterToken = filter["FilterValue2IsParameter"];

                string filterValue2 = filter["FilterValue2"].ToString();

                IModelCapabilities modelCapabilities = filter["ModelCapabilities"].ToObject <ADOTabularModelCapabilities>();
                var queryBuilderFilter = new QueryBuilderFilter(obj, modelCapabilities, _eventAggregator);
                queryBuilderFilter.FilterType  = filterType;
                queryBuilderFilter.FilterValue = filterValue;
                if (filterValueIsParameterToken != null)
                {
                    bool filterValueIsParameter = Convert.ToBoolean(filterValueIsParameterToken.ToString());
                    queryBuilderFilter.FilterValueIsParameter = filterValueIsParameter;
                }
                queryBuilderFilter.FilterValue2 = filterValue2;
                if (filterValue2IsParameterToken != null)
                {
                    bool filterValue2IsParameter = Convert.ToBoolean(filterValue2IsParameterToken.ToString());
                    queryBuilderFilter.FilterValue2IsParameter = filterValue2IsParameter;
                }

                vm.Filters.Add(queryBuilderFilter);
            }


            // Return the result
            return(vm);
        }