Пример #1
0
        private object GetUniqueValue(string tableName,
                                      ColumnConfig columnConfig,
                                      IDictionary <string, object> obj,
                                      Name.Gender?gender)
        {
            object existingValue = obj[columnConfig.Name];
            //create a unique key
            string uniqueCacheKey = $"{tableName}.{columnConfig.Name}";

            //if this table/column combination hasn't been seen before add an empty hash set
            if (!_uniqueValues.ContainsKey(uniqueCacheKey))
            {
                _uniqueValues.AddOrUpdate(uniqueCacheKey, new HashSet <object>(), (a, b) => b);
            }
            //grab the hash set for this table/column
            HashSet <object> uniqueValues = _uniqueValues[uniqueCacheKey];

            int totalIterations = 0;

            do
            {
                IDataProvider dataProvider = this.GetDataProvider(columnConfig.Type);
                existingValue = dataProvider.GetValue(columnConfig, obj, gender);
                totalIterations++;
                if (totalIterations >= MAX_UNIQUE_VALUE_ITERATIONS)
                {
                    throw new Exception($"Unable to generate unique value for {uniqueCacheKey}, attempt to resolve value {totalIterations} times");
                }
            }while (uniqueValues.Contains(existingValue));

            uniqueValues.Add(existingValue);
            return(existingValue);
        }
 protected virtual int?GetSequence(Playlist playlist, int sequence, QueryOperator @operator, OrderByDirection direction)
 {
     using (var database = this.DatabaseFactory.Create())
     {
         using (var transaction = database.BeginTransaction(database.PreferredIsolationLevel))
         {
             var query = this.SequenceQueries.GetOrAdd(
                 new Tuple <QueryOperator, OrderByDirection>(@operator, direction),
                 key =>
             {
                 var table   = database.Tables.PlaylistItem;
                 var column  = table.GetColumn(ColumnConfig.By("Sequence"));
                 var builder = database.QueryFactory.Build();
                 builder.Output.AddColumn(column);
                 builder.Source.AddTable(table);
                 builder.Filter.AddColumn(table.GetColumn(ColumnConfig.By("Playlist_Id")));
                 builder.Filter.AddColumn(column).Operator = builder.Filter.CreateOperator(@operator);
                 builder.Sort.AddColumn(column).Direction  = direction;
                 return(builder.Build());
             }
                 );
             return(database.ExecuteScalar <int?>(query, (parameters, phase) =>
             {
                 switch (phase)
                 {
                 case DatabaseParameterPhase.Fetch:
                     parameters["playlistId"] = playlist.Id;
                     parameters["sequence"] = sequence;
                     break;
                 }
             }, transaction));
         }
     }
 }
        private void PrepopulatedFiltering(ColumnConfig config, PropertyInfo propInfo, TableNode filter,
                                           IEnumerable <string> filterValues)
        {
            TableNode  dropDown      = this.CreateAndAppend("div", filter);
            TagBuilder dropDownBtn   = new TagBuilder("button");
            TagBuilder dropDownMenu  = new TagBuilder("ul");
            TagBuilder dropDownCaret = new TagBuilder("span");

            dropDown.Element.AddCssClass("dropdown");
            dropDown.Element.InnerHtml.AppendHtml(dropDownBtn);
            this.AddCssClasses(config.Filtering.CssClasses, dropDownMenu);
            dropDownBtn.AddCssClass("btn");
            dropDownBtn.AddCssClass("btn-default");
            dropDownBtn.AddCssClass("dropdown-toggle");
            dropDownBtn.Attributes.Add("type", "button");
            dropDownBtn.Attributes.Add("data-toggle", "dropdown");
            dropDownBtn.Attributes.Add("aria-haspopup", "true");
            dropDownBtn.Attributes.Add("aria-expanded", "false");
            if (_tableState.Filters.ContainsKey(propInfo.Name))
            {
                // Currently selected filter value.
                dropDownBtn.InnerHtml.Append(_tableState.Filters[propInfo.Name].Value);
            }
            dropDownBtn.InnerHtml.AppendHtml(dropDownCaret);
            dropDown.Element.InnerHtml.AppendHtml(dropDownMenu);
            dropDownMenu.AddCssClass("dropdown-menu");
            dropDownCaret.AddCssClass("caret");
            this.AddFilterSelection(dropDownMenu, propInfo.Name, "&nbsp;", true);
            foreach (var filterValue in filterValues)
            {
                this.AddFilterSelection(dropDownMenu, propInfo.Name, filterValue);
            }
        }
Пример #4
0
        public void Log_AutonumberSeedAlreadySet_AutoNumberSeedRequestNotAdded()
        {
            // Arrage
            this.crmServiceAdapterMock
            .Setup(x => x.Execute(It.IsAny <GetAutoNumberSeedRequest>()))
            .Returns(() =>
            {
                return(new GetAutoNumberSeedResponse {
                    Results = { { "AutoNumberSeedValue", 1000L } }
                });
            });

            List <TableConfig> tableConfigs = new List <TableConfig>();

            ColumnConfig[] tableColumns = new ColumnConfig[]
            {
                GetAutonumberColumnConfig("test_autonumberone", 1000),
            };

            tableConfigs.Add(GetTableConfig("test_table", tableColumns));

            // Act
            this.tableColumnProcessingService.ProcessTables(tableConfigs);

            // Assert
            this.loggerMock.VerifyLog(x => x.LogInformation("Auto-number seed test_autonumberone for test_table is already set to value: 1000"));
            this.loggerMock.VerifyLog(x => x.LogInformation("No requests for Auto-number seeds were added."));
            this.crmServiceAdapterMock.Verify(svc => svc.Execute(It.IsAny <GetAutoNumberSeedRequest>()));
            this.crmServiceAdapterMock.VerifyNoOtherCalls();
        }
Пример #5
0
 public LegalObject CheckLegal(ColumnConfig colConfig, ObjectData data)
 {
     return(new LegalObject()
     {
         IsLegal = true
     });
 }
 public async Task Refresh()
 {
     using (var database = this.DatabaseFactory.Create())
     {
         var table  = database.Tables.PlaylistItem;
         var query  = database.QueryFactory.Build();
         var column = table.GetColumn(ColumnConfig.By("Sequence"));
         query.Output.AddColumn(column);
         query.Source.AddTable(table);
         using (var transaction = database.BeginTransaction(database.PreferredIsolationLevel))
         {
             using (var reader = database.ExecuteReader(query, transaction))
             {
                 using (var sequence = reader.GetAsyncEnumerator())
                 {
                     this.Sequences.Clear();
                     this.Position = 0;
                     while (await sequence.MoveNextAsync().ConfigureAwait(false))
                     {
                         this.Sequences.Add(sequence.Current.Get <int>(column));
                     }
                     this.Sequences.Shuffle();
                 }
             }
         }
     }
 }
Пример #7
0
 /// <summary>
 /// 初始化列渲染器
 /// </summary>
 /// <param name="config">配置</param>
 public ColumnRender(ColumnConfig config) : base(config)
 {
     _config  = config;
     _tableId = config.TableId;
     _autoCreateHeaderCell = config.AutoCreateHeaderCell();
     _autoCreateCell       = config.AutoCreateCell();
 }
Пример #8
0
 public void Initialize(PageConfigView pageView, FormConfigView formView, ColumnConfig columnConfig, PageStyle style)
 {
     this.PageView      = pageView;
     this.FormView      = formView;
     this.Config        = columnConfig;
     this.ViewPageStyle = style;
 }
 public static void Format(ColumnConfig cc, TableDefinition table, SnapshotColumnInfo column)
 {
     cc.Heading(column.Name);
     if (column.ObservedTypes.All(NumericTypeHelper.IsNumeric))
     {
         cc.RightAlign();
     }
 }
Пример #10
0
 public ColumnBuilderTest()
 {
     _columnConfig = new ColumnConfig {
         Filtering = new FilteringConfig()
     };
     _builderFactory = Substitute.For <IBuilderFactory>();
     _builder        = new ColumnBuilder(_columnConfig, _builderFactory);
 }
 private static void SetCommonColumnOptions(ColumnConfig source, SqlColumn target)
 {
     SetProperty.IfProvidedNotEmpty <string>(source, nameof(target.ColumnName), value => target.ColumnName = value);
     SetProperty.IfProvided <string>(source, nameof(target.DataType), value => target.SetDataTypeFromConfigString(value));
     SetProperty.IfProvided <bool>(source, nameof(target.AllowNull), value => target.AllowNull  = value);
     SetProperty.IfProvided <int>(source, nameof(target.DataLength), value => target.DataLength = value);
     SetProperty.IfProvided <bool>(source, nameof(target.NonClusteredIndex), value => target.NonClusteredIndex = value);
 }
Пример #12
0
        public void DefaultColumnFormatHasNoFixedWidth()
        {
            //Arrange
            var format = new ColumnConfig(null);
            format.MakeFormat<int>();

            //Assert
            Assert.That(format.ColumnFormat.FixedWidth, Is.EqualTo(0));
        }
Пример #13
0
        public void DefaultColumnFormatCorrectColumnType()
        {
            //Arrange
            var format = new ColumnConfig(null);
            format.MakeFormat<int>();

            //Assert
            Assert.That(format.ColumnFormat.Type, Is.EqualTo(typeof(int)));
        }
Пример #14
0
        public void DefaultColumnFormatHasNoHeading()
        {
            //Arrange
            var format = new ColumnConfig(null);
            format.MakeFormat<int>();

            //Assert
            Assert.That(format.ColumnFormat.Heading, Is.Null);
        }
 private static SqlDbType GetTypeForColumn(ColumnConfig columnConfig)
 {
     return(columnConfig.DataType switch
     {
         "string" => SqlDbType.VarChar,
         "decimal" => SqlDbType.Decimal,
         "int" => SqlDbType.Int,
         _ => throw new ArgumentOutOfRangeException(nameof(columnConfig), "DataType " + columnConfig.DataType + " not supported")
     });
Пример #16
0
        private async Task <IEnumerable <T> > FindAllFilteredByIsDeleted(ColumnConfig isDeletedColumnProprety)
        {
            StringBuilder           query = GenerateFindQuery();
            List <(string, object)> parameter;

            (query, parameter) = AddFilterToQuery(query, null, (isDeletedColumnProprety, false));

            return(await QueryAsync <T>(query.ToString(), parameter.ToArray()));
        }
        /// <summary>
        /// Configures a column.
        /// </summary>
        /// <typeparam name="TVal"></typeparam>
        /// <param name="expression">Column property expression.</param>
        /// <returns>Column builder.</returns>
        public MvcCoreBootstrapTableColumnBuilder Column <TVal>(Expression <Func <T, TVal> > expression)
        {
            string       columnProperty = ((MemberExpression)expression.Body).Member.Name;
            ColumnConfig columnConfig   = new ColumnConfig();

            _columnConfigs.Add(columnProperty, columnConfig);

            return(_builderFactory.ColumnBuilder(columnConfig));
        }
        /// <summary>
        /// Sets a place holder text for the text input.
        /// </summary>
        /// <param name="placeHolder">Place holder text.</param>
        /// <returns>The form row builder instance.</returns>
        public MvcCoreBootstrapFormRowBuilder Column(ColumnWidth width, IHtmlContent content)
        {
            ColumnConfig column = new ColumnConfig {
                Width = width, Content = content
            };

            _config.Columns.Add(column);

            return(this);
        }
Пример #19
0
        public async Task <bool> Update(Guid id, T entity)
        {
            ColumnConfig idColumnProprety = _entityMappingConfig.GetPrimaryKeyColumnProprety();

            (StringBuilder query, List <(string, object)> parameter) = GenerateUpdateQuery(entity);

            (query, parameter) = AddFilterToQuery(query, parameter, (idColumnProprety, id));

            return((await ExecuteAsync(query.ToString(), parameter.ToArray())) > 0);
        }
Пример #20
0
        public async Task <T> FindById(Guid id)
        {
            ColumnConfig idColumnProprety = _entityMappingConfig.GetPrimaryKeyColumnProprety();

            StringBuilder           query = GenerateFindQuery();
            List <(string, object)> parameter;

            (query, parameter) = AddFilterToQuery(query, null, (idColumnProprety, id));

            return(await QueryFirstOrDefaultAsync <T>(query.ToString(), parameter.ToArray()));
        }
Пример #21
0
        /// <summary>
        /// Gets the value mapping.
        /// </summary>
        /// <param name="columnConfig">The column configuration.</param>
        /// <param name="existingValue">The existing value.</param>
        /// <returns></returns>
        private object GetValueMapping(
            ColumnConfig columnConfig,
            object existingValue)
        {
            if (columnConfig.UseGlobalValueMappings)
            {
                return(_globalValueMappings[columnConfig.Name][existingValue]);
            }

            return(columnConfig.ValueMappings[existingValue]);
        }
Пример #22
0
        public void ColumnWidthCanBeSet()
        {
            //Arrange
            var config = new ColumnConfig(_stringExp);
            config.MakeFormat<string>();

            //Act
            config.Width(6);

            //Assert
            Assert.That(config.ColumnFormat.FixedWidth, Is.EqualTo(6));
        }
Пример #23
0
        public void ColumnProportionalWidthCanBeSet()
        {
            //Arrange
            var config = new ColumnConfig(_stringExp);
            config.MakeFormat<string>();

            //Act
            config.ProportionalWidth(8.4);

            //Assert
            Assert.That(config.ColumnFormat.ProportionalWidth, Is.EqualTo(8.4));
        }
Пример #24
0
        /// <summary>
        /// Determines whether [has value mapping] [the specified column configuration].
        /// </summary>
        /// <param name="columnConfig">The column configuration.</param>
        /// <param name="existingValue">The existing value.</param>
        /// <returns>
        /// <c>true</c> if [has value mapping] [the specified column configuration]; otherwise, <c>false</c>.
        /// </returns>
        private bool HasValueMapping(
            ColumnConfig columnConfig,
            object existingValue)
        {
            if (columnConfig.UseGlobalValueMappings)
            {
                return(_globalValueMappings.ContainsKey(columnConfig.Name) &&
                       _globalValueMappings[columnConfig.Name]
                       .ContainsKey(existingValue));
            }

            return(columnConfig.UseLocalValueMappings && columnConfig.ValueMappings.ContainsKey(existingValue));
        }
Пример #25
0
        public async Task <IEnumerable <T> > FindAll(bool ignoreLogicDeletation = false)
        {
            ColumnConfig isDeletedColumnProprety = _entityMappingConfig.GetLogicalDeletionColumnProprety();

            if (!ignoreLogicDeletation && isDeletedColumnProprety != null)
            {
                return(await FindAllFilteredByIsDeleted(isDeletedColumnProprety));
            }

            StringBuilder query = GenerateFindQuery();

            return(await QueryAsync <T>(query.ToString()));
        }
Пример #26
0
        public object GetValue(ColumnConfig columnConfig, IDictionary <string, object> obj, Name.Gender?gender)
        {
            DynamicParameters dynamicParameters = new DynamicParameters(obj);
            object            newValue          = _connection.ExecuteScalar(columnConfig.SqlValue.Query, dynamicParameters);

            if (newValue == null && columnConfig.SqlValue.ValueHandling == NotFoundValueHandling.KeepValue)
            {
                newValue = obj[columnConfig.Name];
            }


            return(newValue);
        }
Пример #27
0
 public string GetGridData(DataTableAjaxPostModel model)
 {
     try
     {
         ColumnConfig columnConfig = new ColumnConfig(model);
         var          aaData       = columnConfig.gridParams.GetData();
         return(aaData);
     }
     catch (Exception ex)
     {
         return(ex.ToString());
     }
 }
Пример #28
0
        private void IterateProperties(T entity, Action <PropertyInfo, ColumnConfig> action)
        {
            foreach (var property in entity.GetType().GetProperties())
            {
                ColumnConfig columnConfig = _config.Columns.ContainsKey(property.Name)
                    ? _config.Columns[property.Name]
                    : null;

                if (columnConfig == null || columnConfig.Visible)
                {
                    action(property, columnConfig);
                }
            }
        }
Пример #29
0
        /// <summary>
        /// Gets the value.
        /// </summary>
        /// <param name="columnConfig">The column configuration.</param>
        /// <param name="existingValue">The existing value.</param>
        /// <param name="gender">The gender.</param>
        /// <returns></returns>
        public object GetValue(
            ColumnConfig columnConfig,
            IDictionary <string, object> obj,
            Name.Gender?gender)
        {
            object existingValue = obj[columnConfig.Name];

            if (columnConfig.ValueMappings == null)
            {
                columnConfig.ValueMappings = new Dictionary <object, object>();
            }

            if (!string.IsNullOrEmpty(columnConfig.UseValue))
            {
                return(ConvertValue(columnConfig.Type, columnConfig.UseValue));
            }

            if (columnConfig.RetainNullValues &&
                existingValue == null)
            {
                return(null);
            }

            if (columnConfig.RetainEmptyStringValues &&
                (existingValue is string && string.IsNullOrWhiteSpace((string)existingValue)))
            {
                return(existingValue);
            }

            if (existingValue == null)
            {
                return(GetValue(columnConfig, gender));
            }

            if (HasValueMapping(columnConfig, existingValue))
            {
                return(GetValueMapping(columnConfig, existingValue));
            }


            object newValue = GetValue(columnConfig, gender);

            if (columnConfig.UseGlobalValueMappings ||
                columnConfig.UseLocalValueMappings)
            {
                AddValueMapping(columnConfig, existingValue, newValue);
            }

            return(newValue);
        }
Пример #30
0
        private void refreshList()
        {
            // Setup Columns
            ColorColumnConfig = new ColumnConfig();

            var columns = new ObservableCollection <Column>();

            columns.Add(new Column()
            {
                DataField = "DominoColor.mediaColor", Header = ""
            });
            columns.Add(new Column()
            {
                DataField = "DominoColor.name", Header = "Name"
            });
            columns.Add(new Column()
            {
                DataField = "DominoColor.count", Header = "Total"
            });
            columns.Add(new Column()
            {
                DataField = "ProjectCount[0]", Header = "Used", HighlightDataField = "DominoColor.count"
            });
            columns.Add(new Column()
            {
                DataField = "ProjectCount[1]", Header = "Selected"
            });
            ColorColumnConfig.Columns = columns;

            _DominoList.Clear();
            int counter = 0;

            foreach (DominoColor domino in CurrentProject.colors.RepresentionForCalculation.OfType <DominoColor>())
            {
                _DominoList.Add(new ColorListEntry()
                {
                    DominoColor = domino, SortIndex = CurrentProject.colors.Anzeigeindizes[counter]
                });
                counter++;
            }

            if (CurrentProject.colors.RepresentionForCalculation.OfType <EmptyDomino>().Count() == 1)
            {
                _DominoList.Add(new ColorListEntry()
                {
                    DominoColor = CurrentProject.colors.RepresentionForCalculation.OfType <EmptyDomino>().First(), SortIndex = -1
                });
            }
        }
Пример #31
0
        private async Task <bool> LogicDeletation(Guid id, ColumnConfig isDeletedColumnProprety)
        {
            ColumnConfig idColumnProprety = _entityMappingConfig.GetPrimaryKeyColumnProprety();

            StringBuilder           query     = new StringBuilder();
            List <(string, object)> parameter = new List <(string, object)>();

            query.AppendLine("UPDATE " + _tableName + " set ");
            query.AppendLine(isDeletedColumnProprety.ColumnName + " = @" + isDeletedColumnProprety.ColumnName);
            parameter.Add(("@" + isDeletedColumnProprety.ColumnName, true));

            (query, parameter) = AddFilterToQuery(query, parameter, (idColumnProprety, id));

            return((await ExecuteAsync(query.ToString(), parameter.ToArray())) > 0);
        }
        public void SetUp()
        {
            _collection = new SnapshotCollection();
            _collection.DefineTable(TestTableName).CompareKey("Id");
            _table    = _collection.GetTableDefinition(TestTableName);
            _snapshot = _collection.NewSnapshot("Test");

            //Borrow a column config so that we can test with it.
            void ExtractColumnDefForTest(ColumnConfig config)
            {
                _cc = config;
            }

            var report = new[] { "T" }.AsReport(rep => rep.AddColumn(t => t, ExtractColumnDefForTest));
        }
        private static UIElement ResolveNewElement(ColumnConfig columnConfig, string content)
        {
            switch (columnConfig.ItemType)
            {
            case Enums.ItemType.Text:
            {
                var newTextblock = new TextBlock()
                {
                    Text   = $"TextBlock: {content}",
                    Margin = new Thickness(5)
                };
                return(newTextblock);
            };

            case Enums.ItemType.TextArea:
            {
                var newTextBox = new TextBox()
                {
                    Text   = $"TextBox: {content}",
                    Margin = new Thickness(5)
                };
                return(newTextBox);
            };

            case Enums.ItemType.Checkbox:
            {
                var newCheckbox = new CheckBox()
                {
                    IsChecked = content == "true" ? true : false,
                    Margin    = new Thickness(5)
                };
                return(newCheckbox);
            };

            case Enums.ItemType.ComboBox:
            {
                var newComboBox = new ComboBox()
                {
                    Text   = content,
                    Margin = new Thickness(5)
                };
                return(newComboBox);
            };

            default: return(null);
            }
        }
        public IHtmlContent Render()
        {
            TagBuilder row = new TagBuilder("div")
            {
                TagRenderMode = TagRenderMode.StartTag
            };
            //IList<TagBuilder> columns = new List<TagBuilder>();
            TextWriter writer = new StringWriter();

            row.AddCssClass("row");
            row.WriteTo(writer, HtmlEncoder.Default);
            for (var i = 0; i < _config.Columns.Count; i++)
            {
                ColumnConfig columnConfig = _config.Columns.ElementAt(i);
                TagBuilder   column       = new TagBuilder("div");

                column.AddCssClass(columnConfig.Width.CssClass());
                column.InnerHtml.AppendHtml(columnConfig.Content);
                column.WriteTo(writer, HtmlEncoder.Default);
            }

            /*foreach(ColumnConfig columnConfig in _config.Columns)
             * {
             *  TagBuilder column = new TagBuilder("div") {TagRenderMode = TagRenderMode.StartTag};
             *
             *  column.AddCssClass(columnConfig.Width.CssClass());
             *  columns.Add(column);
             *  row.WriteTo(writer, HtmlEncoder.Default);
             * }
             *
             * //_contentWriter.WriteLine(row.AsString());
             * for(var i = 0; i < columns.Count; i++)
             * {
             *  TagBuilder column = columns.ElementAt(i);
             *
             *  _contentWriter.WriteLine(column.AsString());
             *  _contentWriter.WriteLine(_config.Columns.ElementAt(i).Content.AsString());
             *  column.TagRenderMode = TagRenderMode.EndTag;
             *  _contentWriter.WriteLine(column.AsString());
             * }*/
            row.TagRenderMode = TagRenderMode.EndTag;
            row.WriteTo(writer, HtmlEncoder.Default);
            //_contentWriter.WriteLine(row.AsString());
            return(new HtmlString(writer.ToString()));
        }
Пример #35
0
        public void Log_NoAutonumbersProcessed_NoRequestsAdded()
        {
            // Arrange
            List <TableConfig> tableConfigs = new List <TableConfig>();

            ColumnConfig[] tableColumns = new ColumnConfig[]
            {
                GetAutonumberColumnConfig("test_name", null),
            };

            tableConfigs.Add(GetTableConfig("test_table", tableColumns));

            // Act
            this.tableColumnProcessingService.ProcessTables(tableConfigs);

            // Assert
            this.loggerMock.VerifyLog(x => x.LogInformation("No requests for Auto-number seeds were added."));
        }
        public static BaseRuleProcessor GetRuleProcessor(ColumnConfig columnConfig, GenProcessor engine)
        {
            BaseRuleProcessor processor = null;
            switch (columnConfig.RuleType)
            {
                case "RegularExpressionRuleProcessor":
                    processor = RegularExpressionRuleProcessor.CreateOrGetProcessor(engine);
                    processor.Rule = columnConfig.Rule;
                    break;
                case "AutoGenIntRuleProcessor":
                    processor = AutoGenIntRuleProcessor.CreateOrGetProcessor(engine);
                    processor.Rule = columnConfig.Rule;
                    break;
                case "ArithmeticRuleProcessor":
                    processor = ArithmeticRuleProcessor.CreateOrGetProcessor(engine);
                    processor.Rule = columnConfig.Rule;
                    break;
                case "DriverLabelRuleProcessor":
                    processor = DriverLabelRuleProcessor.CreateOrGetProcessor(engine);
                    processor.Rule = columnConfig.Rule;
                    break;
                case "FilesTypeRuleProcessor":
                    processor = FilesTypeRuleProcessor.CreateOrGetProcessor(engine);
                    processor.Rule = columnConfig.Rule;
                    break;
                case "ConditionalRuleProcessor":
                    processor = ConditionalRuleProcessor.CreateOrGetProcessor(engine);
                    processor.Rule = columnConfig.Rule;
                    break;
                case "SimpleReplacementRuleProcess":
                    processor = SimpleReplacementRuleProcess.CreateOrGetProcessor(engine);
                    processor.Rule = columnConfig.Rule;
                    break;
                default:
                    processor = DefaultRuleProcessor.CreateOrGetProcessor(engine);
                    processor.Rule = columnConfig.Rule;
                    break;
            }

            return processor;
        }
Пример #37
0
        public void HeadingCanBeSet()
        {
            //Arrange
            var config = new ColumnConfig(_stringExp);
            config.MakeFormat<string>();

            //Act
            config.Heading("text");

            //Assert
            Assert.That(config.ColumnFormat.Heading, Is.EqualTo("text"));
        }
Пример #38
0
        public void LeftAlignmentCanBeSet()
        {
            //Arrange
            var config = new ColumnConfig(_intExp);
            config.MakeFormat<int>();

            //Act
            config.LeftAlign();

            //Assert
            Assert.That(config.ColumnFormat.Alignment, Is.EqualTo(ColumnAlign.Left));
        }
Пример #39
0
        public void DecimalPlacesCanBeSet()
        {
            //Arrange
            var config = new ColumnConfig(_doubleExp);
            config.MakeFormat<double>();

            //Act
            config.DecimalPlaces(6);

            //Assert
            Assert.That(config.ColumnFormat.DecimalPlaces, Is.EqualTo(6));
        }
Пример #40
0
        public void RightAlignmentCanBeSet()
        {
            //Arrange
            var config = new ColumnConfig(_stringExp);
            config.MakeFormat<string>();

            //Act
            config.RightAlign();

            //Assert
            Assert.That(config.ColumnFormat.Alignment, Is.EqualTo(ColumnAlign.Right));
        }
Пример #41
0
 internal void AddColumn(ColumnConfig config)
 {
     _columns.Add(config.ColumnFormat);
 }