Jesus-Reyes / CodeDesignPlus.EFCore

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build status Bugs Code Smells Coverage Duplicated Lines (%) Lines of Code Maintainability Rating Quality Gate Status Reliability Rating Technical Debt Vulnerabilities Security Rating


Logo

CodeDesignPlus.EFCore

Librería que contiene servicios base para la implementación del patrón repositorio sobre Entity Framework.
Explore the docs »

Report Bug · Request Feature

Table of Contents

About The Project

Logo

Este proyecto tiene como objetivo proveer las interfaces, servicios, middleware, opciones y métodos de extensión para la implementación del patrón repositorio en sus proyectos Web, Api, Desktop desarrollados en .Net Core.

De igual forma esta librería es usada para la implementación de la característica Storage que se desarrollara en el Microservicio Template como se evidencia en la siguiente imagen:

Logo

Toda la información del desarrollo de la librería la encontrar disponible en el siguiente enlace:

Curso Microservicios:
https://www.youtube.com/playlist?list=PLiNuKK_lURW83zP828ACAHev-RZWOop-3

Librería CodeDesignPlus.Core

  1. Introducción
  2. RepositoryBase
  3. Repository Patter
  4. Unit Test - Repository Patter
  5. OperationBase
  6. Unit Test - OperationBase
  7. Method Extensions
  8. Unit Test - Method Extensions

Built With

Getting Started

Para obtener una copia local en funcionamiento siga los siguientes pasos:

  1. Clone este repositorio en su computador.
  2. Para abrir el proyecto

Prerequisites

Para restaurar los paquetes nuget puede ejecutar el siguiente comando solo si no esta usando Visual Studio Community

  • powershell
dotnet restore .\CodeDesignPlus.EFCore.sln

Installation

  1. Clone the repo
git clone https://github.com/codedesignplus/CodeDesignPlus.EFCore.git
  1. Retore Packages
dotnet restore .\CodeDesignPlus.EFCore.sln

Usage

En este momento no contamos con ejemplos de implementación de la librería por el momento, sin embargo, puede ver los códigos creados en las pruebas unitarias del proyecto para ver su funcionamiento e implementación.

/// <summary>
/// Valida la paginación a partir de un metodo de extensión para EF Core
/// </summary>
[Fact]
public async Task Pager_ArgumentsDefault_StateObjectStandardWithDataDB()
{
    // Arrange
    var options = new DbContextOptionsBuilder<FakeContext>()
        .UseInMemoryDatabase(databaseName: "FakeDbMemory")
        .Options;

    var fakeContext = new FakeContext(options);
    var entities = new List<FakeEntity>();

    for (int i = 0; i < 500; i++)
    {
        entities.Add(new FakeEntity()
        {
            Name = $"Fake - {i}",
            State = true,
            IdUserCreator = Guid.NewGuid().ToString("D"),
            DateCreated = DateTime.Now,
        });
    }
    await fakeContext.FakeEntity.AddRangeAsync(entities);
    await fakeContext.SaveChangesAsync();

    // Act
    var pager = await fakeContext.FakeEntity.Where(x => x.State).ToPageAsync(CURRENT_PAGE, PAGE_SIZE);

    // Assert
    this.AssertPager(TOTAL_ITEMS, CURRENT_PAGE, PAGE_SIZE, MAX_PAGES, pager, entities);
}

Roadmap

Consulte issues para obtener una lista de las funciones propuestas y problemas conocidos.

Contributing

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b features/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Contact

CodeDesignPlus - @CodeDesignPlus - codedesignplus@outlook.com

Project Link: CodeDesignPlus.Core

Acknowledgements

Queremos agradecer a cada uno de los miembros de la comunidad latina de desarrollo en la cual participamos llevando contenido día a día para así seguir creciendo en conjunto.

About

License:MIT License


Languages

Language:C# 98.9%Language:PowerShell 1.1%