< Summary

Information
Class: FAU.DataAccess.Repositories.PeriodosRepository
Assembly: FAU.DataAccess
File(s): /home/runner/work/Sistema.Liquidacion.BE/Sistema.Liquidacion.BE/FAU.DataAccess/Repositories/PeriodosRepository.cs
Line coverage
78%
Covered lines: 22
Uncovered lines: 6
Coverable lines: 28
Total lines: 60
Line coverage: 78.5%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%11100%
ObtenerPorIdAsync()100%11100%
ObtenerActivoAsync()100%210%
ObtenerEnCursoAsync()100%11100%
ObtenerPorAnioMesAsync()100%11100%
CrearAsync()100%11100%
ActualizarAsync()100%11100%
ExisteActivoAsync()100%210%

File(s)

/home/runner/work/Sistema.Liquidacion.BE/Sistema.Liquidacion.BE/FAU.DataAccess/Repositories/PeriodosRepository.cs

#LineLine coverage
 1using FAU.Entidades;
 2using Microsoft.EntityFrameworkCore;
 3
 4namespace FAU.DataAccess.Repositories;
 5
 6public class PeriodosRepository : IPeriodosRepository
 7{
 8    private readonly ApplicationDbContext _context;
 9
 2510    public PeriodosRepository(ApplicationDbContext context)
 11    {
 2512        _context = context;
 2513    }
 14
 15    public async Task<Periodo?> ObtenerPorIdAsync(long id)
 16    {
 1817        return await _context.Set<Periodo>()
 1818            .FirstOrDefaultAsync(p => p.Id == id);
 1819    }
 20
 21    public async Task<Periodo?> ObtenerActivoAsync()
 22    {
 023        return await _context.Set<Periodo>()
 024            .FirstOrDefaultAsync(p => p.Estado == "ABIERTA" && p.Activo);
 025    }
 26
 27    public async Task<Periodo?> ObtenerEnCursoAsync()
 28    {
 829        return await _context.Set<Periodo>()
 830            .Where(p => p.Activo && p.Estado != Periodo.EstadoCerrada)
 831            .OrderByDescending(p => p.Id)
 832            .FirstOrDefaultAsync();
 833    }
 34
 35    public async Task<Periodo?> ObtenerPorAnioMesAsync(short anio, short mes)
 36    {
 937        return await _context.Set<Periodo>()
 938            .FirstOrDefaultAsync(p => p.Anio == anio && p.Mes == mes);
 939    }
 40
 41    public async Task<Periodo> CrearAsync(Periodo periodo)
 42    {
 543        _context.Set<Periodo>().Add(periodo);
 544        await _context.SaveChangesAsync();
 545        return periodo;
 546    }
 47
 48    public async Task<Periodo> ActualizarAsync(Periodo periodo)
 49    {
 1050        _context.Set<Periodo>().Update(periodo);
 1051        await _context.SaveChangesAsync();
 1052        return periodo;
 1053    }
 54
 55    public async Task<bool> ExisteActivoAsync()
 56    {
 057        return await _context.Set<Periodo>()
 058            .AnyAsync(p => p.Estado == "ABIERTA" && p.Activo);
 059    }
 60}