Tooark.Dtos
3.2.0
dotnet add package Tooark.Dtos --version 3.2.0
NuGet\Install-Package Tooark.Dtos -Version 3.2.0
<PackageReference Include="Tooark.Dtos" Version="3.2.0" />
<PackageVersion Include="Tooark.Dtos" Version="3.2.0" />
<PackageReference Include="Tooark.Dtos" />
paket add Tooark.Dtos --version 3.2.0
#r "nuget: Tooark.Dtos, 3.2.0"
#:package Tooark.Dtos@3.2.0
#addin nuget:?package=Tooark.Dtos&version=3.2.0
#tool nuget:?package=Tooark.Dtos&version=3.2.0
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.
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=trueou Decrescente=false. Padrão:true.
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.
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.
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.
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
- Microsoft.AspNetCore.Http
- Microsoft.Extensions.DependencyInjection
- Microsoft.Extensions.Localization
- Tooark.Extensions
- Tooark.Notifications
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 | Versions 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. |
-
net8.0
- Microsoft.AspNetCore.Http (>= 2.3.0)
- Microsoft.Extensions.DependencyInjection (>= 8.0.1)
- Microsoft.Extensions.Localization (>= 8.0.21)
- Tooark.Extensions (>= 3.2.0)
- Tooark.Notifications (>= 3.2.0)
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 |
|---|---|---|
| 3.2.0 | 70 | 1/21/2026 |
| 3.1.0 | 100 | 1/10/2026 |
| 3.0.0 | 100 | 1/9/2026 |
| 2.3.0 | 67 | 1/21/2026 |
| 2.2.1 | 99 | 1/6/2026 |
| 2.2.0 | 103 | 1/6/2026 |
| 2.1.9 | 228 | 10/29/2025 |
| 2.1.8 | 919 | 6/26/2025 |
| 2.1.7 | 306 | 6/17/2025 |
| 2.1.6 | 452 | 6/15/2025 |
| 2.1.5 | 199 | 6/14/2025 |
| 2.1.4 | 204 | 6/3/2025 |
| 2.1.3.3 | 193 | 6/3/2025 |
| 2.1.3.2 | 190 | 6/3/2025 |
| 2.1.3 | 191 | 6/3/2025 |
| 2.1.2 | 269 | 5/17/2025 |
| 2.1.1 | 164 | 5/3/2025 |
| 2.1.0 | 135 | 5/3/2025 |
| 2.0.8 | 153 | 4/26/2025 |
| 2.0.7 | 256 | 4/22/2025 |
| 2.0.6 | 227 | 4/20/2025 |
| 2.0.5 | 218 | 3/14/2025 |
| 2.0.4 | 259 | 3/14/2025 |
| 2.0.3 | 219 | 3/14/2025 |
| 2.0.2 | 246 | 3/13/2025 |
| 2.0.1 | 222 | 3/13/2025 |
| 2.0.0 | 822 | 3/13/2025 |