Tooark.Dtos 3.3.4

There is a newer version of this package available.
See the version list below for details.
dotnet add package Tooark.Dtos --version 3.3.4
                    
NuGet\Install-Package Tooark.Dtos -Version 3.3.4
                    
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="3.3.4" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Tooark.Dtos" Version="3.3.4" />
                    
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 3.3.4
                    
#r "nuget: Tooark.Dtos, 3.3.4"
                    
#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@3.3.4
                    
#: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=3.3.4
                    
Install as a Cake Addin
#tool nuget:?package=Tooark.Dtos&version=3.3.4
                    
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 is compatible.  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 (2)

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

Package Downloads
Tooark

Package with all Tooark resources for .NET applications.

Tooark.AspNetCore

Package with the ASP.NET Core specific pieces of Tooark for .NET applications.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
4.7.1 34 10/17/2026
4.7.0 155 9/30/2026
4.6.0 165 9/29/2026
4.5.0 110 9/29/2026
4.4.0 104 9/28/2026
4.3.0 115 9/26/2026
4.2.1 112 9/25/2026
4.2.0 126 9/20/2026
4.1.0 116 9/18/2026
4.0.1 203 8/25/2026
4.0.0 128 8/25/2026
3.3.6 106 9/18/2026
3.3.5 119 8/25/2026
3.3.4 138 8/12/2026
3.3.3 138 7/27/2026
3.3.2 291 6/11/2026
3.3.1 155 6/6/2026
2.3.5 99 9/18/2026
2.3.4 117 8/25/2026
2.3.3 129 7/27/2026
Loading failed