< Summary

Information
Class: FAU.DataAccess.Repositories.UsuarioRepository
Assembly: FAU.DataAccess
File(s): /home/runner/work/Sistema.Liquidacion.BE/Sistema.Liquidacion.BE/FAU.DataAccess/Repositories/UsuarioRepository.cs
Line coverage
100%
Covered lines: 38
Uncovered lines: 0
Coverable lines: 38
Total lines: 76
Line coverage: 100%
Branch coverage
100%
Covered branches: 2
Total branches: 2
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%11100%
GetByIdAsync()100%11100%
GetByUsernameAsync()100%11100%
GetByUsernameWithRolesAsync()100%11100%
GetAllAsync()100%11100%
CreateAsync()100%11100%
UpdateAsync()100%11100%
DeleteAsync()100%22100%
ExistsAsync()100%11100%

File(s)

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

#LineLine coverage
 1using FAU.Entidades;
 2using Microsoft.EntityFrameworkCore;
 3
 4namespace FAU.DataAccess.Repositories;
 5
 6public class UsuarioRepository : IUsuarioRepository
 7{
 8    private readonly ApplicationDbContext _context;
 9
 1310    public UsuarioRepository(ApplicationDbContext context)
 11    {
 1312        _context = context;
 1313    }
 14
 15    public async Task<Usuario?> GetByIdAsync(long id)
 16    {
 217        return await _context.Usuarios
 218            .Include(u => u.Persona)
 219            .FirstOrDefaultAsync(u => u.Id == id);
 220    }
 21
 22    public async Task<Usuario?> GetByUsernameAsync(string username)
 23    {
 224        return await _context.Usuarios
 225            .Include(u => u.Persona)
 226            .FirstOrDefaultAsync(u => u.Username == username);
 227    }
 28
 29    public async Task<Usuario?> GetByUsernameWithRolesAsync(string username)
 30    {
 231        return await _context.Usuarios
 232            .Include(u => u.Persona)
 233            .Include(u => u.Roles)
 234                .ThenInclude(r => r.Permisos)
 235            .FirstOrDefaultAsync(u => u.Username == username);
 236    }
 37
 38    public async Task<IEnumerable<Usuario>> GetAllAsync()
 39    {
 240        return await _context.Usuarios
 241            .Include(u => u.Persona)
 242            .Include(u => u.Roles)
 243            .ToListAsync();
 244    }
 45
 46    public async Task<Usuario> CreateAsync(Usuario usuario)
 47    {
 148        _context.Usuarios.Add(usuario);
 149        await _context.SaveChangesAsync();
 150        return usuario;
 151    }
 52
 53    public async Task<Usuario> UpdateAsync(Usuario usuario)
 54    {
 155        usuario.FechaActualizacion = DateTime.UtcNow;
 156        _context.Usuarios.Update(usuario);
 157        await _context.SaveChangesAsync();
 158        return usuario;
 159    }
 60
 61    public async Task DeleteAsync(long id)
 62    {
 163        var usuario = await _context.Usuarios.FindAsync(id);
 164        if (usuario != null)
 65        {
 166            _context.Usuarios.Remove(usuario);
 167            await _context.SaveChangesAsync();
 68        }
 169    }
 70
 71    public async Task<bool> ExistsAsync(string username)
 72    {
 273        return await _context.Usuarios.AnyAsync(u => u.Username == username);
 274    }
 75}
 76