Tooark.Dtos 2.1.8

dotnet add package Tooark.Dtos --version 2.1.8
                    
NuGet\Install-Package Tooark.Dtos -Version 2.1.8
                    
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="Tooark.Dtos" Version="2.1.8" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Tooark.Dtos" Version="2.1.8" />
                    
Directory.Packages.props
<PackageReference Include="Tooark.Dtos" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Tooark.Dtos --version 2.1.8
                    
#r "nuget: Tooark.Dtos, 2.1.8"
                    
#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.
#:package Tooark.Dtos@2.1.8
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Tooark.Dtos&version=2.1.8
                    
Install as a Cake Addin
#tool nuget:?package=Tooark.Dtos&version=2.1.8
                    
Install as a Cake Tool

Tooark.Dtos

Biblioteca para gerenciamento e manutenção de DTOs base em projetos .NET.

Configuração

Para utilizar os resources disponíveis, adicione a seguinte linha no seu arquivo .csproj:

<Target Name="CopyNugetContentFiles" AfterTargets="Build">
  <ItemGroup>
    <NugetContentFiles Include="$(NuGetPackageRoot)\**\Resources\**\*.json" />
  </ItemGroup>
  <Copy SourceFiles="@(NugetContentFiles)" DestinationFolder="$(OutDir)Resources" SkipUnchangedFiles="true" />
</Target>

Adicione a seguinte linha no seu arquivo Program.cs:

// Importando o namespace necessário
using Tooark.Dtos.Injections;

// Nas suas configurações de serviços
services.AddTooarkDtos();

Conteúdo

DTOs (Data Transfer Objects)

1. Dto

Funcionalidade: Classe base para DTOs com configuração de localizador de strings.

  • Métodos:

    • Configure(IStringLocalizer localizer): Configura o localizador de strings.

2. SearchDto

Funcionalidade: Classe para parâmetros de busca.

  • Propriedades:

    • Search: Informação a ser procurada. Padrão: nulo.
    • PageIndex: Índice da paginação. Padrão: 0.
    • PageSize: Tamanho da paginação. Padrão: 10.

Exemplo de Uso

3. SearchOrderDto

Funcionalidade: Classe para parâmetros de busca com parâmetro de ordenação.

  • Propriedades:

    • OrderBy: Referencia a ser ordenada. Padrão: nulo.
    • OrderAsc: Sentido da ordenação. Crescente=true ou Decrescente=false. Padrão: true.

Exemplo de Uso

4. ResponseDto

Funcionalidade: Classe de resposta padrão para operações de API.

  • Propriedades:

    • Data: Dados de resposta. Padrão: nulo.
    • Errors: Lista de erros. Padrão: vazio.
    • Pagination: Dados de paginação. Padrão: nulo.
    • Metadata: Metadados. Padrão: nulo.
  • Métodos:

    • ResponseDto(T? data): Construtor da classe com dados de resposta.
    • ResponseDto(T data, IList<string> errors): Construtor da classe com dados de resposta e lista de erros.
    • ResponseDto(T? data, int total, HttpRequest request): Construtor da classe com dados de resposta, total de registros e requisição. Para montar a paginação.
    • ResponseDto(string error): Construtor da classe com erro.
    • ResponseDto(IList<string> errors): Construtor da classe com lista de erros.
    • ResponseDto(Exception exception): Construtor da classe com exceção.
    • ResponseDto(string message, bool isSuccess): Construtor da classe com mensagem e status de sucesso.
    • ResponseDto(IReadOnlyCollection<NotificationItem> notifications): Construtor da classe com notificações.
    • SetPagination(PaginationDto pagination): Adiciona dados de paginação.
    • SetMetadata(IList<MetadataDto> metadata): Adiciona metadados.
    • AddMetadata(MetadataDto metadata): Adiciona um metadado.

Exemplo de Uso

5. PaginationDto

Funcionalidade: Classe de parâmetros de paginação para resposta de API.

  • Propriedades:

    • Total: Total de registros. Padrão: 0.
    • PageSize: Tamanho da página. Padrão: 0.
    • PageIndex: Índice da página. Padrão: 0.
    • Previous: Índice da página anterior. Padrão: nulo.
    • Next: Índice da página seguinte. Padrão: nulo.
    • CurrentLink: Link da página atual. Padrão: nulo.
    • PreviousLink: Link da página anterior. Padrão: nulo.
    • NextLink: Link da página seguinte. Padrão: nulo.
  • Métodos:

    • PaginationDto(long total, HttpRequest request): Construtor da classe com total de registros e requisição.
    • PaginationDto(long total, long pageSize, long pageIndex, long previous, long next, HttpRequest request): Construtor da classe com parâmetros de paginação e requisição.
    • public PaginationDto(long total, SearchDto searchDto, HttpRequest request): Construtor da classe com total de registros, parâmetros de busca e requisição.

Exemplo de Uso

6. MetadataDto

Funcionalidade: Classe de metadados para resposta de API.

  • Propriedades:

    • Key: Chave do metadado. Padrão: nulo.
    • Value: Valor do metadado. Padrão: nulo.

Exemplo de Uso

Exemplos de Uso

Dto

using Tooark.Dtos;

Dto.Configure(localizer);

SearchDto

using Tooark.Dtos;

var search = new SearchDto
{
  Search = "Exemplo",
  PageIndex = 1,
  PageSize = 20
};

SearchOrderDto

using Tooark.Dtos;

var searchOrder = new SearchOrderDto
{
  Search = "Exemplo",
  PageIndex = 1,
  PageSize = 20,
  OrderBy = "Nome",
  OrderAsc = true
};

ResponseDto

Dados de Resposta:

using Tooark.Dtos;

var example = new ExampleDto() { Id = 1, Name = "Exemplo" };
var response = new ResponseDto<ExampleDto>(example);

response.SetPagination(new PaginationDto(100, request));
response.AddMetadata(new MetadataDto("Chave", "Valor"));

Dados de Resposta e Lista de Erros:

using Tooark.Dtos;

var example = new ExampleDto() { Id = 1, Name = "Exemplo" };
var errors = new List<string> { "Erro 1", "Erro 2" };
var response = new ResponseDto<ExampleDto>(example, errors);

response.SetPagination(new PaginationDto(100, request));
response.AddMetadata(new MetadataDto("Chave", "Valor"));

Dados de Resposta, total de registros e requisição:

using Tooark.Dtos;

var example = new ExampleDto() { Id = 1, Name = "Exemplo" };
var total = 100;
var response = new ResponseDto<ExampleDto>(example, total, request);

response.SetMetadata(new List<MetadataDto>() {new MetadataDto("Chave", "Valor")});

Erro único:

using Tooark.Dtos;

var response = new ResponseDto<ExampleDto>("Erro");

response.SetPagination(new PaginationDto(100, request));
response.AddMetadata(new MetadataDto("Chave", "Valor"));

Lista de Erros:

using Tooark.Dtos;

var errors = new List<string> { "Erro 1", "Erro 2" };
var response = new ResponseDto<ExampleDto>(erros);

response.SetPagination(new PaginationDto(100, request));
response.AddMetadata(new MetadataDto("Chave", "Valor"));

Exception:

using Tooark.Dtos;

var response = new ResponseDto<ExampleDto>(exception);

response.AddMetadata(new MetadataDto("Chave", "Valor"));

String de dados:

using Tooark.Dtos;

var data = "Exemplo";
var response = new ResponseDto<ExampleDto>(data, true);

response.AddMetadata(new MetadataDto("Chave", "Valor"));

Itens de Notificação:

using Tooark.Dtos;

NotificationItem notification = new NotificationItem("Chave", "Valor");
var response = new ResponseDto<ExampleDto>(notification);

response.AddMetadata(new MetadataDto("Chave", "Valor"));

PaginationDto

Total de Registros e Requisição:

using Tooark.Dtos;

var pagination = new PaginationDto(100, request);

Parâmetros de Paginação e Requisição:

using Tooark.Dtos;

var pagination = new PaginationDto(100, 20, 1, 0, 2, request);

Parâmetros de Paginação, Parâmetros de Busca e Requisição:

using Tooark.Dtos;

var search = new SearchDto
{
  Search = "Exemplo",
  PageIndex = 1,
  PageSize = 20
};

var pagination = new PaginationDto(100, search, request);

MetadataDto

using Tooark.Dtos;

var metadata = new MetadataDto("Chave", "Valor");

Dependências

Contribuição

Contribuições são bem-vindas! Sinta-se à vontade para abrir issues e pull requests no repositório Tooark.Dtos.

Licença

Este projeto está licenciado sob a licença BSD 3-Clause. Veja o arquivo LICENSE para mais detalhes.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Tooark.Dtos:

Package Downloads
Tooark

Package with all Tooark resources for .NET applications.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.1.8 432 6/26/2025
2.1.7 247 6/17/2025
2.1.6 393 6/15/2025
2.1.5 157 6/14/2025
2.1.4 149 6/3/2025
2.1.3.3 143 6/3/2025
2.1.3.2 143 6/3/2025
2.1.3 142 6/3/2025
2.1.2 211 5/17/2025
2.1.1 96 5/3/2025
2.1.0 92 5/3/2025
2.0.8 111 4/26/2025
2.0.7 181 4/22/2025
2.0.6 181 4/20/2025
2.0.5 157 3/14/2025
2.0.4 175 3/14/2025
2.0.3 164 3/14/2025
2.0.2 180 3/13/2025
2.0.1 161 3/13/2025
2.0.0 571 3/13/2025