Cosmos.Types.DireccionesFisicas 1.1.1

dotnet add package Cosmos.Types.DireccionesFisicas --version 1.1.1
                    
NuGet\Install-Package Cosmos.Types.DireccionesFisicas -Version 1.1.1
                    
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="Cosmos.Types.DireccionesFisicas" Version="1.1.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Cosmos.Types.DireccionesFisicas" Version="1.1.1" />
                    
Directory.Packages.props
<PackageReference Include="Cosmos.Types.DireccionesFisicas" />
                    
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 Cosmos.Types.DireccionesFisicas --version 1.1.1
                    
#r "nuget: Cosmos.Types.DireccionesFisicas, 1.1.1"
                    
#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 Cosmos.Types.DireccionesFisicas@1.1.1
                    
#: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=Cosmos.Types.DireccionesFisicas&version=1.1.1
                    
Install as a Cake Addin
#tool nuget:?package=Cosmos.Types.DireccionesFisicas&version=1.1.1
                    
Install as a Cake Tool

Cosmos.Types.DireccionesFisicas

NuGet

DireccionFisica — Value Object de dirección física para el ERP Cosmos: país, división territorial (vía Cosmos.Types.DivisionesTerritoriales), línea de dirección y código postal opcional. 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.DireccionesFisicas

Construcción

DivisionTerritorial es un VO de catálogo: se obtiene con DivisionTerritorial.Obtener(pais, codigo), que lanza. DireccionFisica es un VO compuesto: su factory pública Crear(...) : Result<DireccionFisica> valida sin lanzar (EsExitoso / .Valor / .Errores):

using Cosmos.Types.DireccionesFisicas;
using Cosmos.Types.DivisionesTerritoriales;
using Cosmos.Types.Paises;

var colombia = Pais.Obtener("CO");
var medellin = DivisionTerritorial.Obtener(colombia, "05001");   // VO de catálogo: Obtener (lanza)

var resultado = DireccionFisica.Crear(                            // VO compuesto: Crear (Result)
    divisionTerritorial: medellin,
    lineaDireccion: "Calle 10 # 43-12");

if (resultado.EsExitoso)
    UsarDireccion(resultado.Valor);
else
    foreach (var error in resultado.Errores)
        Console.WriteLine(error.Codigo);   // V02 (división), V03 (línea)

Crear deriva el país de la división territorial (no se pasa por separado): la división ya carga su país.

Forma serializada

{
  "pais": { "codigo": "CO" },
  "divisionTerritorial": { "pais": { "codigo": "CO" }, "codigo": "05001" },
  "lineaDireccion": "Calle 10 # 43-12",
  "lineaDireccion2": null,
  "codigoPostal": null
}

Las claves son camelCase ancladas con [JsonPropertyName]. A diferencia de IdentificacionLegal (que aplana su tipo a string), DireccionFisica anida la DivisionTerritorial completa como objeto — decisión deliberada para conservar la jerarquía territorial aguas abajo. La LineaDireccion2 (complemento) y el CodigoPostal viajan como campos estructurales aunque sean null.

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 — una división que ya no figura en el catálogo igual se rehidrata.

Dependencias

  • Cosmos.Types.Abstractions (kernel: Result<T>)
  • Cosmos.Types.DivisionesTerritoriales

Requiere net10.0. Hoy la dirección es línea libre normalizada y el código postal se almacena tal cual (sin validación postal); la captura estructurada y la validación postal quedan diferidas a la publicación de sus catálogos.

Documentación

Licencia

Uso interno del ERP Cosmos.

Product 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. 
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 Cosmos.Types.DireccionesFisicas:

Package Downloads
ObligacionesPorPagar.Entradas.Contratos

Contratos de reconocimiento expuestos a terceros.

ObligacionesPorPagar.Reconocimiento.Contratos

Contratos de reconocimiento expuestos a terceros.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.1.1 137 6/30/2026
1.1.0 74 6/24/2026