/// <summary> /// Create test image formatting rules. /// </summary> /// <returns></returns> public static List <ColumnFormatting> CreateTestImageFormattingRules() { var formats = new List <ColumnFormatting>(); var format1 = new ColumnFormatting { QueryColumnId = new Guid("{7EE81FB6-F037-4031-A2B0-D5E585B8BA4E}"), ColumnName = "Column1", ColumnType = DatabaseType.Int32Type, ShowText = true, FormattingRule = new ImageFormattingRule { ThumbnailScaleId = new EntityRef(7969), ThumbnailSizeId = new EntityRef(11807) } }; var format2 = new ColumnFormatting { QueryColumnId = new Guid("{8EE81FB6-F037-4031-A2B0-D5E585B8BA4E}"), ColumnName = "Column2", ColumnType = DatabaseType.IdentifierType, ShowText = false, FormattingRule = new ImageFormattingRule { ThumbnailScaleId = new EntityRef("core", "scaleImageProportionally"), ThumbnailSizeId = new EntityRef("console", "smallThumbnail") } }; formats.Add(format1); formats.Add(format2); return(formats); }
/// <summary> /// </summary> /// <param name="formats1"></param> /// <param name="formats2"></param> public static void CompareColumnFormats(IList <ColumnFormatting> formats1, IList <ColumnFormatting> formats2) { Assert.AreEqual(formats1.Count, formats2.Count, "The count of formats is invalid."); for (int i = 0; i < formats1.Count; i++) { ColumnFormatting cf1 = formats1[i]; ColumnFormatting cf2 = formats2[i]; Assert.AreEqual(cf1.QueryColumnId, cf2.QueryColumnId, "Format Index:{0} QueryColumnId is invalid.", i.ToString(CultureInfo.InvariantCulture)); Assert.AreEqual(cf1.ColumnName, cf2.ColumnName, "Format Index:{0} ColumnName is invalid.", i.ToString(CultureInfo.InvariantCulture)); Assert.AreEqual(cf1.ColumnType.GetType( ), cf2.ColumnType.GetType( ), "Format Index:{0} ColumnType is invalid.", i.ToString(CultureInfo.InvariantCulture)); Assert.AreEqual(cf1.ShowText, cf2.ShowText, "Format Index:{0} ShowText is invalid.", i.ToString(CultureInfo.InvariantCulture)); Assert.IsNotNull(cf1.FormattingRule, "Format Index:{0} FormattingRule 1 should not be null.", i.ToString(CultureInfo.InvariantCulture)); Assert.IsNotNull(cf2.FormattingRule, "Format Index:{0} FormattingRule 2 should not be null.", i.ToString(CultureInfo.InvariantCulture)); if (cf1.FormattingRule is ColorFormattingRule) { var cfr1 = cf1.FormattingRule as ColorFormattingRule; var cfr2 = cf2.FormattingRule as ColorFormattingRule; CompareColorFormattingRules(i, cfr1, cfr2); } else if (cf1.FormattingRule is IconFormattingRule) { var ifr1 = cf1.FormattingRule as IconFormattingRule; var ifr2 = cf2.FormattingRule as IconFormattingRule; CompareIconFormattingRules(i, ifr1, ifr2); } else if (cf1.FormattingRule is BarFormattingRule) { var bfr1 = cf1.FormattingRule as BarFormattingRule; var bfr2 = cf2.FormattingRule as BarFormattingRule; CompareBarFormattingRules(i, bfr1, bfr2); } else if (cf1.FormattingRule is ImageFormattingRule) { var imfr1 = cf1.FormattingRule as ImageFormattingRule; var imfr2 = cf2.FormattingRule as ImageFormattingRule; CompareImageFormattingRules(i, imfr1, imfr2); } else { Assert.Fail("The formatting rule is invalid."); } } }
public static void Main(string[] args) { Simple.Run(); MultipleSheet.Run(); NumberFormats.Run(); ColumnFormatting.Run(); RowFormatting.Run(); Alignment.Run(); Border.Run(); DataValidation.Run(); RightToLeft.Run(); Zip64Small.Run(); SheetProtection.Run(); Large.Run(); StyledLarge.Run(); StyledLargeCreateStyles.Run(); Zip64Huge.Run(); }
/// <summary> /// Create test color formatting rules. /// </summary> /// <returns></returns> public static List <ColumnFormatting> CreateTestColorFormattingRules( ) { var formats = new List <ColumnFormatting>( ); var format1 = new ColumnFormatting { QueryColumnId = new Guid("{7EE81FB6-F037-4031-A2B0-D5E585B8BA4E}"), ColumnName = "Column1", ColumnType = DatabaseType.Int32Type, ShowText = true, FormattingRule = new ColorFormattingRule { Rules = new List <ColorRule> { new ColorRule { BackgroundColor = new ColorInfo { A = 0, B = 0, R = 0, G = 255 }, ForegroundColor = new ColorInfo { A = 0, B = 0, R = 255, G = 0 }, Condition = new Condition { ColumnName = "Column1", ColumnType = DatabaseType.Int32Type, Operator = ConditionType.LessThan, Arguments = new List <TypedValue> { new TypedValue { Type = DatabaseType.Int32Type, Value = 20 } } } } } } }; var format2 = new ColumnFormatting { QueryColumnId = new Guid("{8EE81FB6-F037-4031-A2B0-D5E585B8BA4E}"), ColumnName = "Column2", ColumnType = DatabaseType.IdentifierType, ShowText = false, FormattingRule = new ColorFormattingRule { Rules = new List <ColorRule> { new ColorRule { BackgroundColor = new ColorInfo { A = 10, B = 10, R = 0, G = 255 }, ForegroundColor = new ColorInfo { A = 0, B = 0, R = 255, G = 5 }, Condition = new Condition { ColumnName = "Column2", ColumnType = DatabaseType.IdentifierType, Operator = ConditionType.GreaterThanOrEqual, Arguments = new List <TypedValue> { new TypedValue { Type = DatabaseType.IdentifierType, Value = 100L } } } } } } }; formats.Add(format1); formats.Add(format2); return(formats); }
/// <summary> /// Create test bar formatting rules. /// </summary> /// <returns></returns> public static List <ColumnFormatting> CreateTestBarFormattingRules( ) { var formats = new List <ColumnFormatting>( ); var format1 = new ColumnFormatting { QueryColumnId = new Guid("{7EE81FB6-F037-4031-A2B0-D5E585B8BA4E}"), ColumnName = "Column1", ColumnType = DatabaseType.Int32Type, ShowText = true, FormattingRule = new BarFormattingRule { Color = new ColorInfo { A = 0, B = 0, R = 0, G = 255 }, Minimum = new TypedValue { Type = DatabaseType.Int32Type, Value = 0 }, Maximum = new TypedValue { Type = DatabaseType.Int32Type, Value = 100 } } }; var format2 = new ColumnFormatting { QueryColumnId = new Guid("{8EE81FB6-F037-4031-A2B0-D5E585B8BA4E}"), ColumnName = "Column2", ColumnType = DatabaseType.IdentifierType, ShowText = false, FormattingRule = new BarFormattingRule { Color = new ColorInfo { A = 0, B = 0, R = 100, G = 0 }, Minimum = new TypedValue { Type = DatabaseType.IdentifierType, Value = 100L }, Maximum = new TypedValue { Type = DatabaseType.IdentifierType, Value = 1000L } } }; formats.Add(format1); formats.Add(format2); return(formats); }
/// <summary> /// Builds the column format rules for the report columns. /// </summary> /// <param name="reportColumns">The report columns.</param> /// <param name="context">The context.</param> /// <returns> /// List{ColumnFormatting}. /// </returns> internal static List <ColumnFormatting> BuildColumnFormats(IEntityCollection <ReportColumn> reportColumns, IReportToQueryContext context) { List <ColumnFormatting> reportColumnFormats = new List <ColumnFormatting>(); foreach (ReportColumn reportColumn in reportColumns) { ColumnFormatting columnFormatting = null; if (reportColumn.ColumnDisplayFormat != null && reportColumn.ColumnExpression != null) { Formatting.ImageFormattingRule imageFormattingRule = null; if (reportColumn.ColumnDisplayFormat.FormatImageScale != null && reportColumn.ColumnDisplayFormat.FormatImageSize != null) { imageFormattingRule = new Formatting.ImageFormattingRule { ThumbnailSizeId = new Model.EntityRef(reportColumn.ColumnDisplayFormat.FormatImageSize.Id), ThumbnailScaleId = new Model.EntityRef(reportColumn.ColumnDisplayFormat.FormatImageScale.Id), }; } columnFormatting = new ColumnFormatting { EntityId = reportColumn.Id, ColumnName = reportColumn.Name, DecimalPlaces = reportColumn.ColumnDisplayFormat.FormatDecimalPlaces ?? 0, ShowText = reportColumn.ColumnDisplayFormat.ColumnShowText ?? false, DisableDefaultFormat = reportColumn.ColumnDisplayFormat.DisableDefaultFormat ?? false, Prefix = reportColumn.ColumnDisplayFormat.FormatPrefix, Suffix = reportColumn.ColumnDisplayFormat.FormatSuffix, Lines = reportColumn.ColumnDisplayFormat.MaxLineCount ?? 0, FormattingRule = imageFormattingRule ?? null }; // Column Type columnFormatting.ColumnType = TypedValueHelper.GetDatabaseType(reportColumn.ColumnExpression.ReportExpressionResultType); DisplayFormat displayFormat = reportColumn.ColumnDisplayFormat; // Format String if (displayFormat.DateColumnFormat != null) { columnFormatting.DateFormat = displayFormat.DateColumnFormat; } if (displayFormat.DateTimeColumnFormat != null) { columnFormatting.DateTimeFormat = displayFormat.DateTimeColumnFormat; } if (displayFormat.TimeColumnFormat != null) { columnFormatting.TimeFormat = displayFormat.TimeColumnFormat; } // Text Alignment if (displayFormat.FormatAlignment != null) { columnFormatting.Alignment = displayFormat.FormatAlignment; } if (displayFormat.EntityListColumnFormat != null) { columnFormatting.EntityListColumnFormat = displayFormat.EntityListColumnFormat; } } // Formatting Rule if (reportColumn.ColumnFormattingRule != null && reportColumn.ColumnExpression != null) { if (columnFormatting == null) { columnFormatting = new ColumnFormatting { EntityId = reportColumn.Id, ColumnName = reportColumn.Name, } } ; columnFormatting.FormattingRule = BuildColumnFormatRule(reportColumn.ColumnFormattingRule, columnFormatting.ColumnType, context); } if (columnFormatting != null && reportColumn.ColumnExpression != null) { reportColumnFormats.Add(columnFormatting); } } return(reportColumnFormats); }