Example #1
0
        public static QueryBuilderColumn Create(string caption, string daxName, Type dataType, ADOTabularObjectType objectType, bool isModelItem = true)
        {
            var col = CreateADOTabularColumn(caption, daxName, dataType, objectType, isModelItem);

            var col2 = new QueryBuilderColumn(col, isModelItem);

            return(col2);
        }
Example #2
0
        public static QueryBuilderColumn Create(string caption, string daxName, Type dataType, ADOTabularObjectType objectType, bool isModelItem = true, SortDirection sortDirection = SortDirection.ASC)
        {
            var col = CreateADOTabularColumn(caption, daxName, dataType, objectType, isModelItem, sortDirection);

            var col2 = new QueryBuilderColumn(col, isModelItem, new MockEventAggregator());

            return(col2);
        }
Example #3
0
        public static QueryBuilderColumn Create(string caption, string daxName, Type dataType, ADOTabularObjectType objectType, bool isModelItem = true)
        {
            var col = new Mock <IADOTabularColumn>();

            col.SetupGet(x => x.Caption).Returns(caption);
            col.SetupGet(x => x.DaxName).Returns(daxName);
            col.SetupGet(x => x.DataType).Returns(dataType);
            col.SetupGet(x => x.ObjectType).Returns(objectType);

            var col2 = new QueryBuilderColumn(col.Object, isModelItem);

            return(col2);
        }
Example #4
0
        public static bool IsMeasure(this QueryBuilderColumn column)
        {
            switch (column.ObjectType)
            {
            case ADOTabularObjectType.Measure:
            case ADOTabularObjectType.MeasureFormatString:
            case ADOTabularObjectType.KPI:
            case ADOTabularObjectType.KPIGoal:
            case ADOTabularObjectType.KPIStatus:
                return(true);

            default:
                return(false);
            }
        }
        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);
        }
Example #6
0
 public ShowMeasureExpressionEditor(QueryBuilderColumn column)
 {
     Column = column;
 }
        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);
        }
Example #8
0
 public DuplicateMeasureEvent(QueryBuilderColumn measure)
 {
     Measure = measure;
 }