Tooark.Dtos
2.1.8
dotnet add package Tooark.Dtos --version 2.1.8
NuGet\Install-Package Tooark.Dtos -Version 2.1.8
<PackageReference Include="Tooark.Dtos" Version="2.1.8" />
<PackageVersion Include="Tooark.Dtos" Version="2.1.8" />
<PackageReference Include="Tooark.Dtos" />
paket add Tooark.Dtos --version 2.1.8
#r "nuget: Tooark.Dtos, 2.1.8"
#:package Tooark.Dtos@2.1.8
#addin nuget:?package=Tooark.Dtos&version=2.1.8
#tool nuget:?package=Tooark.Dtos&version=2.1.8
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=true
ou 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.16)
- Tooark.Extensions (>= 2.1.8)
- Tooark.Notifications (>= 2.1.8)
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 |