Example #1
0
    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)));
    }
Example #2
0
 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;
		}