Cosmos.Types.Paises
1.1.1
dotnet add package Cosmos.Types.Paises --version 1.1.1
NuGet\Install-Package Cosmos.Types.Paises -Version 1.1.1
<PackageReference Include="Cosmos.Types.Paises" Version="1.1.1" />
<PackageVersion Include="Cosmos.Types.Paises" Version="1.1.1" />
<PackageReference Include="Cosmos.Types.Paises" />
paket add Cosmos.Types.Paises --version 1.1.1
#r "nuget: Cosmos.Types.Paises, 1.1.1"
#:package Cosmos.Types.Paises@1.1.1
#addin nuget:?package=Cosmos.Types.Paises&version=1.1.1
#tool nuget:?package=Cosmos.Types.Paises&version=1.1.1
Cosmos.Types.Paises
Pais — Value Object de país para el ERP Cosmos, con catálogo embebido de 195 países
(código ISO, nombre, indicativo telefónico, moneda). Viaja dentro de eventos event-sourced
(JSONB) aguas abajo, por lo que su forma serializada es un contrato estable.
Instalación
dotnet add package Cosmos.Types.Paises
Construcción
Pais es un VO de catálogo: su puerta pública es Obtener(...), que lanza
ArgumentException si el código no existe o no está activo. Es la forma correcta para un código
confiable (un literal del dev, un valor ya validado aguas arriba):
using Cosmos.Types.Paises;
var colombia = Pais.Obtener("CO"); // lanza ArgumentException si "CO" no existe/activo
La factory Crear(...) : Result<Pais> (que valida sin lanzar) es internal: no está disponible
para el consumidor. Un Pais solo se obtiene por Obtener, lo que garantiza que todo Pais tipado
en tu código es válido por construcción.
Forma serializada
{ "codigo": "CO" }
Las claves son camelCase ancladas con [JsonPropertyName]: el wire es determinista e
independiente del JsonSerializerOptions del consumidor. Los datos descriptivos (Nombre,
IndicativoTelefonico, MonedaPrincipal) son accessors derivados del catálogo, marcados
[JsonIgnore]: no viajan en el evento.
Rehidratación (deserialización)
No requiere setup: ni JsonConverter ni JsonSerializerContext registrados; basta el STJ por
defecto. Al deserializar un evento histórico el VO se rehidrata crudo ([JsonConstructor]), sin
validar — un código que ya no figura en el catálogo igual se rehidrata. En ese estado poison
los accessors derivados resuelven a null sin lanzar (pais.Nombre == null).
Listado
Para poblar un selector en un frontend usá Pais.Listar() — devuelve los mismos Pais que consume
la escritura, así que el valor elegido fluye directo a las factories tipadas. Las etiquetas de
display no viajan serializadas, por lo que el backend consumidor proyecta su propio DTO de API:
var paisesDto = Pais.Listar().Select(pais => new { pais.Codigo, pais.Nombre });
Dependencias
Cosmos.Types.Abstractions(kernel:Result<T>)
Requiere net10.0.
Documentación
Licencia
Uso interno del ERP Cosmos.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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. |
-
net10.0
- Cosmos.Types.Abstractions (>= 1.1.1)
NuGet packages (6)
Showing the top 5 NuGet packages that depend on Cosmos.Types.Paises:
| Package | Downloads |
|---|---|
|
Cosmos.Impuestos.Contratos
Eventos públicos de integración de Cosmos Impuestos (IPublicEvent) para consumidores en otros bounded contexts. |
|
|
Cosmos.Contabilidad.Contratos
Package Description |
|
|
ObligacionesPorPagar.Reconocimiento.Contratos
Contratos de reconocimiento expuestos a terceros. |
|
|
Cosmos.Types.DivisionesTerritoriales
Value Object DivisionTerritorial para el ERP Cosmos, con catálogo DIVIPOLA de Colombia embebido (33 departamentos + 1.122 municipios). Diseñado para eventos event-sourced. |
|
|
Cosmos.Types.IdentificacionesLegales
Value Object IdentificacionLegal para el ERP Cosmos: tipo de documento, número y dígito de verificación (módulo-11 DIAN), con catálogo embebido de 46 tipos. Diseñado para eventos event-sourced. |
GitHub repositories
This package is not used by any popular GitHub repositories.