public static string RenderText(string text, ITextDefinition addition = null) { if (text == null) { return("<null>"); } else if (text == "") { return(text); } var reg = new Regex(@"\${(\S+?)}", RegexOptions.ECMAScript); return(reg.Replace(text, (match) => GetTextByReference(match.Groups[1].Value, addition))); }
public static string GetTextByReference(string id, ITextDefinition addition = null) { if (addition != null && addition.Has(id)) { return(RenderText(addition[id])); } for (var i = 0; i < Asset.TextDefinitions.Count; i++) { if (Asset.TextDefinitions[i].Has(id)) { return(RenderText(Asset.TextDefinitions[i][id])); } } return("<undefined>"); }
/// <summary> /// This method copy's each database field which is in the <paramref name="includedColumns"/> /// from the <paramref name="source"/> interface to this data row. /// </summary> public void Copy_From_But_TakeOnly(ITextDefinition source, params string[] includedColumns) { if (includedColumns.Contains(TextDefinitionsTable.IdCol)) this.Id = source.Id; if (includedColumns.Contains(TextDefinitionsTable.NameIdCol)) this.NameId = source.NameId; if (includedColumns.Contains(TextDefinitionsTable.BlockIdCol)) this.BlockId = source.BlockId; if (includedColumns.Contains(TextDefinitionsTable.PageIdCol)) this.PageId = source.PageId; if (includedColumns.Contains(TextDefinitionsTable.DataBaseItemCol)) this.DataBaseItem = source.DataBaseItem; if (includedColumns.Contains(TextDefinitionsTable.TextPlayingOrderCol)) this.TextPlayingOrder = source.TextPlayingOrder; if (includedColumns.Contains(TextDefinitionsTable.TextCol)) this.Text = source.Text; if (includedColumns.Contains(TextDefinitionsTable.PositionLeftCol)) this.PositionLeft = source.PositionLeft; if (includedColumns.Contains(TextDefinitionsTable.PositionRightCol)) this.PositionRight = source.PositionRight; if (includedColumns.Contains(TextDefinitionsTable.PositionTopCol)) this.PositionTop = source.PositionTop; if (includedColumns.Contains(TextDefinitionsTable.PositionBottomCol)) this.PositionBottom = source.PositionBottom; if (includedColumns.Contains(TextDefinitionsTable.FontDescriptionCol)) this.FontDescription = source.FontDescription; if (includedColumns.Contains(TextDefinitionsTable.FontStyleCol)) this.FontStyle = source.FontStyle; if (includedColumns.Contains(TextDefinitionsTable.FontColorCol)) this.FontColor = source.FontColor; if (includedColumns.Contains(TextDefinitionsTable.FontSizeCol)) this.FontSize = source.FontSize; if (includedColumns.Contains(TextDefinitionsTable.AppendCol)) this.Append = source.Append; if (includedColumns.Contains(TextDefinitionsTable.ForceNewLineCol)) this.ForceNewLine = source.ForceNewLine; if (includedColumns.Contains(TextDefinitionsTable.AlignmentCol)) this.Alignment = source.Alignment; if (includedColumns.Contains(TextDefinitionsTable.FontRotationCol)) this.FontRotation = source.FontRotation; if (includedColumns.Contains(TextDefinitionsTable.ConvertContentCol)) this.ConvertContent = source.ConvertContent; if (includedColumns.Contains(TextDefinitionsTable.ConverterParameterCol)) this.ConverterParameter = source.ConverterParameter; }
/// <summary> This method copy's each database field from the <paramref name="source"/> interface to this data row.</summary> public void Copy_From(ITextDefinition source, bool includePrimaryKey = false) { if (includePrimaryKey) this.Id = source.Id; this.NameId = source.NameId; this.BlockId = source.BlockId; this.PageId = source.PageId; this.DataBaseItem = source.DataBaseItem; this.TextPlayingOrder = source.TextPlayingOrder; this.Text = source.Text; this.PositionLeft = source.PositionLeft; this.PositionRight = source.PositionRight; this.PositionTop = source.PositionTop; this.PositionBottom = source.PositionBottom; this.FontDescription = source.FontDescription; this.FontStyle = source.FontStyle; this.FontColor = source.FontColor; this.FontSize = source.FontSize; this.Append = source.Append; this.ForceNewLine = source.ForceNewLine; this.Alignment = source.Alignment; this.FontRotation = source.FontRotation; this.ConvertContent = source.ConvertContent; this.ConverterParameter = source.ConverterParameter; }
/// <summary> This method copy's each database field into the <paramref name="target"/> interface. </summary> public void Copy_To(ITextDefinition target, bool includePrimaryKey = false) { if (includePrimaryKey) target.Id = this.Id; target.NameId = this.NameId; target.BlockId = this.BlockId; target.PageId = this.PageId; target.DataBaseItem = this.DataBaseItem; target.TextPlayingOrder = this.TextPlayingOrder; target.Text = this.Text; target.PositionLeft = this.PositionLeft; target.PositionRight = this.PositionRight; target.PositionTop = this.PositionTop; target.PositionBottom = this.PositionBottom; target.FontDescription = this.FontDescription; target.FontStyle = this.FontStyle; target.FontColor = this.FontColor; target.FontSize = this.FontSize; target.Append = this.Append; target.ForceNewLine = this.ForceNewLine; target.Alignment = this.Alignment; target.FontRotation = this.FontRotation; target.ConvertContent = this.ConvertContent; target.ConverterParameter = this.ConverterParameter; }