TemplateText 1.0.1.2

dotnet add package TemplateText --version 1.0.1.2
NuGet\Install-Package TemplateText -Version 1.0.1.2
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="TemplateText" Version="1.0.1.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add TemplateText --version 1.0.1.2
#r "nuget: TemplateText, 1.0.1.2"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install TemplateText as a Cake Addin
#addin nuget:?package=TemplateText&version=1.0.1.2

// Install TemplateText as a Cake Tool
#tool nuget:?package=TemplateText&version=1.0.1.2

TemplateText

NuGet Packages .NET Framework 4.7.2

Descrição

Biblioteca para uso em templates no formato texto.

Recursos
  • Configuração de campos por atributo
  • Configuração de campos pelo usuário
  • Limitar tamanho da linha
  • Limitar tamanho de um texto
  • Textos com tamanhos padrões
Compatibilidades
  • Suporte para DateTime, Enum, String, Int, Double, Object, List
  • Formatação do texto
Restrições
  • Os campos devem seguir o seu objeto Ex: se você tem uma classe pedido e uma propriedade id, o seu campo deverá ser {pedido.id}
  • Ao configurar um campo pelo usuário (adicionando na lista PropertyConfigList) a configuração do campo pelo atributo não será usada
Como Usar
  • Importe a biblioteca
using TemplateText;
using TemplateText.Attributes;
using TemplateText.Util;
  • Crie os templates usando {pedido.id} para os valores e [pedido.itens_pedido] para as listas, as listas devem ficar em arquivos separados
string str = "teste\n";
            str += "=========================================================\n";
            str += "id: {pedido.id}\n";
            str += "nome: {pedido.nome}\n";
            str += "data: {pedido.data}\n";
            str += "tipo: {pedido.tipo}\n";
            str += "=========================================================\n";
            str += "|id  |nome            |qtd   |preco   |\n";
            str += "[pedido.itens_pedido]\n";
            str += "=========================================================\n";
            str += "adicional: {pedido.totais_pedido.adicional}\n";
            str += "desconto: {pedido.totais_pedido.desconto}\n";
            str += "total: {pedido.totais_pedido.total}\n";
            str += "=========================================================\n";
            str += "total: {pedido.totais_pedido.totais_total.total}\n";

            string stritem = "{pedido.itens_pedido.id} {pedido.itens_pedido.nome} {pedido.itens_pedido.qtde} {pedido.itens_pedido.preco}\n";
            stritem += "{pedido.itens_pedido.totais_item.total} {pedido.itens_pedido.tipo} > [pedido.itens_pedido.subitens_pedido]\n \n";

            string strsubitem = "*{pedido.itens_pedido.subitens_pedido.nome}\n";
  • Creie se objeto seguindo o escopo do template
 pedido pedido = new pedido();
            pedido.id = 1;
            pedido.nome = "teste";
            pedido.data = DateTime.Now;
            pedido.tipo = pedido.Tipo.Tipo1;
            pedido.itens = new List<pedido.itens_pedido>();

            pedido.itens_pedido itens1 = new pedido.itens_pedido();
            itens1.id = 1;
            itens1.nome = "testetestetestetesteteste";
            itens1.qtde = 1;
            itens1.preco = 20.03;
            itens1.tipo = pedido.Tipo.Tipo2;
            itens1.totais = new pedido.totais_item();
            itens1.totais.total = 20;
            itens1.subitens = new List<pedido.subitens_pedido>();
            pedido.subitens_pedido subitens1 = new pedido.subitens_pedido();
            subitens1.nome = "teste";
            itens1.subitens.Add(subitens1);
            pedido.itens.Add(itens1);

            pedido.itens_pedido itens2 = new pedido.itens_pedido();
            itens2.id = 2;
            itens2.nome = "teste1";
            itens2.qtde = 1;
            itens2.preco = 20;
            itens2.subitens = new List<pedido.subitens_pedido>();
            pedido.itens.Add(itens2);

            pedido.itens_pedido itens3 = new pedido.itens_pedido();
            itens3.id = 3;
            itens3.nome = "testes prod";
            itens3.qtde = 1;
            itens3.preco = 20.03;
            itens3.tipo = pedido.Tipo.Tipo2;
            itens3.totais = new pedido.totais_item();
            itens3.totais.total = 20;
            itens3.subitens = new List<pedido.subitens_pedido>();
            pedido.subitens_pedido subitens2 = new pedido.subitens_pedido();
            subitens2.nome = "teste123";
            itens3.subitens.Add(subitens2);
            pedido.subitens_pedido subitens3 = new pedido.subitens_pedido();
            subitens3.nome = "sub item";
            itens3.subitens.Add(subitens3);
            pedido.subitens_pedido subitens4 = new pedido.subitens_pedido();
            subitens4.nome = "novo subite";
            itens3.subitens.Add(subitens4);
            //itens3.subitens = null;
            pedido.itens.Add(itens3);

            pedido.totais = new pedido.totais_pedido();
            pedido.totais.adicional = 0;
            pedido.totais.desconto = 0;
            pedido.totais.total = 40000;
            pedido.totais.totais = new pedido.totais_total();
            pedido.totais.totais.total = 40;
  • Faça as configurações necessárias
Configs configs = new Configs();
            configs.LineSizeAjust = true;
            configs.Template = str;
			configs.PropertyConfigList.Add(new PropertyConfigList("pedido.id", TypesProperty.INT, new PropertyConfigs(5, "{0:00000}")));//Configuração de campos pelo usuário
            configs.TemplateList.Add(new TemplateList() { Name = "pedido.itens_pedido", Template = stritem });
            configs.TemplateList.Add(new TemplateList() { Name = "pedido.itens_pedido.subitens_pedido", Template = strsubitem });
  • Inicia a biblioteca e use
Template Template = new Template(configs);
string ret = Template.CreateTemplate<pedido>(pedido);

CREATOR

Follow me for my next creations

Product Compatible and additional computed target framework versions.
.NET Framework net472 is compatible.  net48 was computed.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.1.2 448 4/25/2022
1.0.1 394 4/25/2022
1.0.0.1 407 4/13/2022

Correções para conversão em json