< Summary

Information
Class: FAU.API.Controllers.UnidadesController
Assembly: FAU.API
File(s): /home/runner/work/Sistema.Liquidacion.BE/Sistema.Liquidacion.BE/FAU.API/Controllers/UnidadesController.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 19
Coverable lines: 19
Total lines: 46
Line coverage: 0%
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%210%
GetUnidades()100%210%

File(s)

/home/runner/work/Sistema.Liquidacion.BE/Sistema.Liquidacion.BE/FAU.API/Controllers/UnidadesController.cs

#LineLine coverage
 1using FAU.DataAccess;
 2using FAU.Entidades;
 3using FAU.Logica.DTOs;
 4using Microsoft.AspNetCore.Authorization;
 5using Microsoft.AspNetCore.Mvc;
 6using Microsoft.EntityFrameworkCore;
 7
 8namespace FAU.API.Controllers;
 9
 10[ApiController]
 11[Route("api/[controller]")]
 12[Authorize]
 13public class UnidadesController : ControllerBase
 14{
 15    private readonly ApplicationDbContext _context;
 16
 017    public UnidadesController(ApplicationDbContext context) => _context = context;
 18
 19    /// <summary>
 20    /// GET /api/unidades
 21    /// Retorna las unidades vigentes con sus sub-unidades.
 22    /// </summary>
 23    [HttpGet]
 24    [FAU.API.Security.RequirePermission(PermisoEnum.VerSubUnidades)]
 25    public async Task<IActionResult> GetUnidades()
 26    {
 027        var unidades = await _context.Unidades
 028            .Where(u => u.Vigente)
 029            .Include(u => u.SubUnidades.Where(s => s.Vigente))
 030            .OrderBy(u => u.Denominacion)
 031            .ToListAsync();
 32
 033        return Ok(ApiResponse<object>.SuccessResult(unidades.Select(u => new
 034        {
 035            id           = u.Id,
 036            codigo       = u.Codigo,
 037            denominacion = u.Denominacion,
 038            subUnidades  = u.SubUnidades.Select(s => new
 039            {
 040                id           = s.Id,
 041                codigo       = s.Codigo,
 042                denominacion = s.Denominacion
 043            })
 044        })));
 045    }
 46}