Tooark.Entities
2.1.7
See the version list below for details.
dotnet add package Tooark.Entities --version 2.1.7
NuGet\Install-Package Tooark.Entities -Version 2.1.7
<PackageReference Include="Tooark.Entities" Version="2.1.7" />
<PackageVersion Include="Tooark.Entities" Version="2.1.7" />
<PackageReference Include="Tooark.Entities" />
paket add Tooark.Entities --version 2.1.7
#r "nuget: Tooark.Entities, 2.1.7"
#:package Tooark.Entities@2.1.7
#addin nuget:?package=Tooark.Entities&version=2.1.7
#tool nuget:?package=Tooark.Entities&version=2.1.7
Tooark.Entities
Biblioteca para gerenciamento e manutenção de entidades base em projetos .NET.
Conteúdo
- BaseEntity
- InitialEntity
- DetailedEntity
- VersionedEntity
- SoftDeletableEntity
- AuditableEntity
- FileEntity
Entidades
As entidades disponíveis são:
1. Entidade Base
Funcionalidade: Classe base abstrata contemplando a definição de um identificador único para a entidade.
Propriedades:
Id(Guid): Identificador único para a entidade.
Coluna de Banco de Dados:
id: Tipo:uuid.
Métodos:
SetId(Guid id): Define o identificador único para a entidade.
2. Entidade Inicial
Funcionalidade:
Classe base abstrata que herda de BaseEntity e define campos para rastrear a criação da entidade.
Propriedades:
CreatedBy(Guid): Identificador do usuário que criou a entidade.CreatedAt(DateTime): Data e hora de criação da entidade.
Coluna de Banco de Dados:
created_by: Tipo:uuid.created_at: Tipo:timestamp with time zone.
Métodos:
SetCreatedBy(Guid createdBy): Define o identificador do criador da entidade e a data e hora de criação.
3. Entidade Detalhada
Funcionalidade:
Classe base abstrata que herda de InitialEntity e define campos para rastrear a última atualização da entidade.
Propriedades:
UpdatedBy(Guid): Identificador do usuário que atualizou a entidade pela última vez.UpdatedAt(DateTime): Data e hora da última atualização da entidade.
Coluna de Banco de Dados:
updated_by: Tipo:uuid.updated_at: Tipo:timestamp with time zone.
Métodos:
SetCreatedBy(Guid createdBy): Define o identificador do criador e o atualizador da entidade.SetUpdatedBy(Guid updatedBy): Define o identificador do atualizador da entidade e a data e hora da última atualização.
4. Entidade Versionada
Funcionalidade:
Classe base abstrata que herda de DetailedEntity e define um campo para rastrear a versão da entidade.
Propriedades:
Version(long): Versão da entidade.
Coluna de Banco de Dados:
version: Tipo:bigint.
Métodos:
SetUpdatedBy(Guid updatedBy): Incrementa a versão da entidade ao atualizar.
5. Entidade Deletável
Funcionalidade:
Classe base abstrata que herda de DetailedEntity e define um campo para rastrear a exclusão lógica da entidade.
Propriedades:
Deleted(bool): Indica se a entidade foi excluída logicamente.
Coluna de Banco de Dados:
deleted: Tipo:boolean.
Métodos:
SetDeleted(Guid changedBy): Marca a entidade como excluída logicamente.SetRestored(Guid changedBy): Marca a entidade como não excluída logicamente.
6. Entidade Auditável
Funcionalidade:
Classe base abstrata que herda de DetailedEntity e define campos para rastrear a exclusão lógica e restauração da entidade.
Propriedades:
Version(long): Versão da entidade.Deleted(bool): Indica se a entidade foi excluída logicamente.DeletedBy(Guid): Identificador do usuário que excluiu a entidade.DeletedAt(DateTime?): Data e hora da exclusão da entidade.RestoredBy(Guid): Identificador do usuário que restaurou a entidade.RestoredAt(DateTime?): Data e hora da restauração da entidade.
Coluna de Banco de Dados:
deleted: Tipo:boolean.deleted_by: Tipo:uuid.deleted_at: Tipo:timestamp with time zone.restored_by: Tipo:uuid.restored_at: Tipo:timestamp with time zone.
Métodos:
SetDeleted(Guid deletedBy): Marca a entidade como excluída, definindo o usuário e a data e hora da exclusão e incrementando a versão.SetRestored(Guid restoredBy): Marca a entidade como restaurada, definindo o usuário e a data e hora da restauração e incrementando a versão.
.7 Entidade de Arquivo
Funcionalidade:
Classe base abstrata que herda de InitialEntity e define campos para armazenar informações de arquivos.
Propriedades:
FileName(string): Nome do arquivo.Title(string): Título do arquivo.Link(string): Link do arquivo no bucket.FileFormat(string): Formato do arquivo.Type(EFileType): Tipo do arquivo.Size(long): Tamanho do arquivo em bytes.
Coluna de Banco de Dados:
file_name: Tipo:text.title: Tipo:varchar(255).link: Tipo:text.file_format: Tipo:varchar(10).type: Tipo:int.size: Tipo:bigint.
Construtores:
FileEntity(string fileUrl, string name, Guid createdBy): Inicializa uma nova instância da classeFileEntity.FileEntity(string fileUrl, string name, string publicUrl, Guid createdBy): Inicializa uma nova instância da classeFileEntity.FileEntity(string fileUrl, string name, string publicUrl, string fileFormat, EFileType type, Guid createdBy): Inicializa uma nova instância da classeFileEntity.
Exemplo de Uso
Entidade Base
using Tooark.Entities;
public class Produto : BaseEntity
{
public string Nome { get; set; }
public decimal Valor { get; set; }
}
public class Program
{
public static void Main()
{
var produto = new Produto
{
Nome = "Produto A",
Valor = 100.0m
};
produto.SetId(Guid.NewGuid()); // Define o identificador único para a entidade.
}
}
Entidade Inicial
using Tooark.Entities;
public class Produto : InitialEntity
{
public string Nome { get; set; }
public decimal Valor { get; set; }
}
public class Program
{
public static void Main()
{
var produto = new Produto
{
Nome = "Produto A",
Valor = 100.0m
};
// Definindo o criador da entidade
produto.SetCreatedBy(Guid.NewGuid()); // Define o identificador do criador da entidade e a data e hora de criação.
}
}
Entidade Detalhada
using Tooark.Entities;
public class Produto : DetailedEntity
{
public string Nome { get; set; }
public decimal Valor { get; set; }
}
public class Program
{
public static void Main()
{
var produto = new Produto
{
Nome = "Produto A",
Valor = 100.0m
};
// Definindo o criador da entidade
produto.SetCreatedBy(Guid.NewGuid()); // Define o identificador do criador e o atualizador da entidade.
// Atualizando a entidade
produto.SetUpdatedBy(Guid.NewGuid()); // Define o identificador do atualizador da entidade e a data e hora da última atualização.
}
}
Entidade Versionada
using Tooark.Entities;
public class Produto : VersionedEntity
{
public string Nome { get; set; }
public decimal Valor { get; set; }
}
public class Program
{
public static void Main()
{
var produto = new Produto
{
Nome = "Produto A",
Valor = 100.0m
};
// Definindo o criador da entidade
produto.SetCreatedBy(Guid.NewGuid()); // Define o identificador do criador e o atualizador da entidade.
// Atualizando a entidade
produto.SetUpdatedBy(Guid.NewGuid()); // Incrementa a versão da entidade ao atualizar.
var version = produto.Version; // Obtém a versão da entidade.
}
}
Entidade Deletável
using Tooark.Entities;
public class Produto : SoftDeletableEntity
{
public string Nome { get; set; }
public decimal Valor { get; set; }
}
public class Program
{
public static void Main()
{
var produto = new Produto
{
Nome = "Produto A",
Valor = 100.0m
};
// Definindo o criador da entidade
produto.SetCreatedBy(Guid.NewGuid()); // Define o identificador do criador e o atualizador da entidade.
// Excluindo logicamente a entidade
produto.SetDeleted(Guid.NewGuid()); // Marca a entidade como excluída logicamente.
// Restaurando a entidade
produto.SetRestored(Guid.NewGuid()); // Marca a entidade como não excluída logicamente.
}
}
Entidade Auditável
using Tooark.Entities;
public class Produto : AuditableEntity
{
public string Nome { get; set; }
public decimal Valor { get; set; }
}
public class Program
{
public static void Main()
{
var produto = new Produto
{
Nome = "Produto A",
Valor = 100.0m
};
// Definindo o criador da entidade
produto.SetCreatedBy(Guid.NewGuid()); // Define o identificador do criador e o atualizador da entidade.
// Atualizando a entidade
produto.SetUpdatedBy(Guid.NewGuid()); // Define o identificador do atualizador da entidade e a data e hora da última atualização.
// Excluindo logicamente a entidade
produto.SetDeleted(Guid.NewGuid()); // Marca a entidade como excluída, definindo o usuário e a data e hora da exclusão e incrementando a versão.
// Restaurando a entidade
produto.SetRestored(Guid.NewGuid()); // Marca a entidade como restaurada, definindo o usuário e a data e hora da restauração e incrementando a versão.
}
}
Entidade de Arquivo
using Tooark.Entities;
public class Arquivo : FileEntity
{
public string Descricao { get; set; }
}
public class Program
{
public static void Main()
{
var arquivo = new Arquivo("https://bucket.com/arquivo.pdf", "Arquivo.pdf", Guid.NewGuid())
{
Descricao = "Arquivo de teste"
};
}
}
Dependências
Códigos de Erro para notificações
Os códigos de erro para notificações são:
Base:T.ENT.BASInitial:T.ENT.INIDetailed:T.ENT.DETSoftDeletable:T.ENT.SOFAuditable:T.ENT.AUD
Contribuição
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues e pull requests no repositório Tooark.Entities.
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
- Tooark.Enums (>= 2.1.7)
- Tooark.Notifications (>= 2.1.7)
- Tooark.Utils (>= 2.1.7)
- Tooark.ValueObjects (>= 2.1.7)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Tooark.Entities:
| 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 | 42 | 1/21/2026 |
| 3.1.0 | 99 | 1/10/2026 |
| 3.0.0 | 104 | 1/9/2026 |
| 2.3.0 | 30 | 1/21/2026 |
| 2.2.1 | 99 | 1/6/2026 |
| 2.2.0 | 105 | 1/6/2026 |
| 2.1.9 | 220 | 10/29/2025 |
| 2.1.8 | 923 | 6/26/2025 |
| 2.1.7 | 313 | 6/17/2025 |
| 2.1.6 | 446 | 6/15/2025 |
| 2.1.5 | 215 | 6/14/2025 |
| 2.1.4 | 237 | 6/3/2025 |
| 2.1.3.3 | 210 | 6/3/2025 |
| 2.1.3.2 | 198 | 6/3/2025 |
| 2.1.3 | 203 | 6/3/2025 |
| 2.1.2 | 250 | 5/17/2025 |
| 2.1.1 | 156 | 5/3/2025 |
| 2.1.0 | 138 | 5/3/2025 |
| 2.0.8 | 147 | 4/26/2025 |
| 2.0.7 | 239 | 4/22/2025 |
| 2.0.6 | 252 | 4/20/2025 |
| 2.0.5 | 209 | 3/14/2025 |
| 2.0.4 | 226 | 3/14/2025 |
| 2.0.3 | 221 | 3/14/2025 |
| 2.0.2 | 226 | 3/13/2025 |
| 2.0.1 | 205 | 3/13/2025 |
| 2.0.0 | 836 | 3/13/2025 |