Lomas.Core 0.0.4-rc.25

This is a prerelease version of Lomas.Core.
This package has a SemVer 2.0.0 package version: 0.0.4-rc.25+a501cd9.
There is a newer version of this package available.
See the version list below for details.
dotnet add package Lomas.Core --version 0.0.4-rc.25
                    
NuGet\Install-Package Lomas.Core -Version 0.0.4-rc.25
                    
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="Lomas.Core" Version="0.0.4-rc.25" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Lomas.Core" Version="0.0.4-rc.25" />
                    
Directory.Packages.props
<PackageReference Include="Lomas.Core" />
                    
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 Lomas.Core --version 0.0.4-rc.25
                    
#r "nuget: Lomas.Core, 0.0.4-rc.25"
                    
#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 Lomas.Core@0.0.4-rc.25
                    
#: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=Lomas.Core&version=0.0.4-rc.25&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Lomas.Core&version=0.0.4-rc.25&prerelease
                    
Install as a Cake Tool

Lomas.Core

Build Status NuGet Version NuGet Downloads

Biblioteca de clases core reutilizables para proyectos del Municipio de Lomas de Zamora.

📋 Descripción

Lomas.Core es una biblioteca de clases que contiene componentes fundamentales y reutilizables para el desarrollo de aplicaciones dentro del ecosistema tecnológico del Municipio de Lomas de Zamora. Incluye patrones comunes, clases base, extensiones y configuraciones estándar.

🚀 Características

  • Clases Base: Entidades base con propiedades comunes
  • Patrones de Resultado: Implementación del patrón Result para manejo de errores
  • Extensiones: Métodos de extensión útiles para tipos comunes
  • Configuraciones: Configuraciones estándar reutilizables
  • Validaciones: Validadores comunes para diferentes tipos de datos
  • Utilidades: Funciones de utilidad general

📦 Instalación

Package Manager Console

Install-Package Lomas.Core

.NET CLI

dotnet add package Lomas.Core

PackageReference

<PackageReference Include="Lomas.Core" Version="1.0.0" />

🔧 Uso Básico

Entidad Base

using Lomas.Core.Entities;

public class Ciudadano : BaseEntity
{
    public string Nombre { get; set; }
    public string Apellido { get; set; }
    public string Dni { get; set; }
}

Patrón Result

using Lomas.Core.Common;

public Result<Ciudadano> ObtenerCiudadano(string dni)
{
    if (string.IsNullOrEmpty(dni))
        return Result<Ciudadano>.Failure("El DNI es requerido");
    
    var ciudadano = // ... lógica de búsqueda
    
    return Result<Ciudadano>.Success(ciudadano);
}

Extensiones

using Lomas.Core.Extensions;

string texto = "hola mundo";
string capitalizado = texto.ToTitleCase(); // "Hola Mundo"

🏗️ Estructura del Proyecto

Lomas.Core/
├── src/
│   ├── Common/          # Clases y patrones comunes
│   ├── Entities/        # Entidades base
│   ├── Extensions/      # Métodos de extensión
│   ├── Configurations/  # Configuraciones reutilizables
│   └── Utilities/       # Funciones de utilidad
├── tests/
│   └── Lomas.Core.Tests/
└── docs/

🔄 Versionado y Releases Automáticas

Este proyecto utiliza Semantic Versioning con releases completamente automatizadas:

📋 Flujo de Releases

Rama main (Producción)
  • Cambio de versión en .csproj → Release oficial (ej: 1.2.3)
  • Sin cambio de versión → Build automático (ej: 1.2.2.45)
  • Se publica en NuGet automáticamente
Rama develop (Desarrollo)
  • Cambio de versión en .csproj → Release Candidate (ej: 1.2.3-RC.45)
  • Sin cambio de versión → Build RC automático (ej: 1.2.2.45-RC)
  • NO se publica en NuGet (solo artefactos)

🎯 Para Crear un Release

  1. Actualizar versión en src/Lomas.Core.csproj:

    <VersionPrefix>1.2.3</VersionPrefix>
    
  2. Hacer commit y push:

    git add src/Lomas.Core.csproj
    git commit -m "chore: bump version to 1.2.3"
    git push origin main  # o develop para RC
    
  3. GitHub Actions automáticamente: ✅ Detecta el cambio de versión
    ✅ Ejecuta tests
    ✅ Crea paquete NuGet
    ✅ Genera release con notas automáticas
    ✅ Publica en NuGet (solo desde main)

🤝 Contribución

  1. Fork el proyecto
  2. Crea una rama para tu feature (git checkout -b feature/nueva-caracteristica)
  3. Commit tus cambios (git commit -am 'Agrega nueva característica')
  4. Push a la rama (git push origin feature/nueva-caracteristica)
  5. Abre un Pull Request

Estándares de Código

  • Utilizar C# 12 y .NET 8
  • Seguir las convenciones de nomenclatura de .NET
  • Incluir documentación XML en clases y métodos públicos
  • Agregar pruebas unitarias para nuevas funcionalidades
  • Mantener cobertura de código > 80%

📋 Requisitos

  • .NET 8.0 o superior
  • C# 12

🧪 Pruebas

# Ejecutar todas las pruebas
dotnet test

# Ejecutar con cobertura
dotnet test --collect:"XPlat Code Coverage"

📄 Licencia

Este proyecto está licenciado bajo la Licencia MIT - ver el archivo LICENSE para más detalles.

📞 Contacto

Municipio de Lomas de Zamora

🔗 Enlaces Relacionados


Desarrollado con ❤️ para el Municipio de Lomas de Zamora

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.1 29 9/27/2025
0.1.1-rc.28 19 9/27/2025
0.0.301 42 9/26/2025
0.0.301-rc.24 20 9/27/2025
0.0.301-rc.23 22 9/26/2025
0.0.4 29 9/27/2025
0.0.4-rc.25 23 9/27/2025
0.0.2.15-RC 32 9/26/2025
0.0.2.8-RC 36 9/26/2025
0.0.2-rc.17 20 9/26/2025
0.0.1.14-RC 32 9/26/2025
0.0.1.12-RC 35 9/26/2025
0.0.1 39 9/26/2025