Lomas.Core 0.0.1

There is a newer version of this package available.
See the version list below for details.
dotnet add package Lomas.Core --version 0.0.1
                    
NuGet\Install-Package Lomas.Core -Version 0.0.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="Lomas.Core" Version="0.0.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Lomas.Core" Version="0.0.1" />
                    
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.1
                    
#r "nuget: Lomas.Core, 0.0.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 Lomas.Core@0.0.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=Lomas.Core&version=0.0.1
                    
Install as a Cake Addin
#tool nuget:?package=Lomas.Core&version=0.0.1
                    
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.
  • net8.0

    • No dependencies.

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