< 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
56%
Covered lines: 13
Uncovered lines: 10
Coverable lines: 23
Total lines: 52
Line coverage: 56.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%210%
ObtenerActivoAsync()100%11100%
ObtenerPorAnioMesAsync()100%11100%
CrearAsync()100%11100%
ActualizarAsync()100%210%
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
 410    public PeriodosRepository(ApplicationDbContext context)
 11    {
 412        _context = context;
 413    }
 14
 15    public async Task<Periodo?> ObtenerPorIdAsync(long id)
 16    {
 017        return await _context.Set<Periodo>()
 018            .FirstOrDefaultAsync(p => p.Id == id);
 019    }
 20
 21    public async Task<Periodo?> ObtenerActivoAsync()
 22    {
 423        return await _context.Set<Periodo>()
 424            .FirstOrDefaultAsync(p => p.Estado == "ABIERTA" && p.Activo);
 425    }
 26
 27    public async Task<Periodo?> ObtenerPorAnioMesAsync(short anio, short mes)
 28    {
 529        return await _context.Set<Periodo>()
 530            .FirstOrDefaultAsync(p => p.Anio == anio && p.Mes == mes);
 531    }
 32
 33    public async Task<Periodo> CrearAsync(Periodo periodo)
 34    {
 335        _context.Set<Periodo>().Add(periodo);
 336        await _context.SaveChangesAsync();
 337        return periodo;
 338    }
 39
 40    public async Task<Periodo> ActualizarAsync(Periodo periodo)
 41    {
 042        _context.Set<Periodo>().Update(periodo);
 043        await _context.SaveChangesAsync();
 044        return periodo;
 045    }
 46
 47    public async Task<bool> ExisteActivoAsync()
 48    {
 049        return await _context.Set<Periodo>()
 050            .AnyAsync(p => p.Estado == "ABIERTA" && p.Activo);
 051    }
 52}