60 lines
2.8 KiB
C#
60 lines
2.8 KiB
C#
using AlquilaFacil.Builder;
|
|
using Entidades.Informes;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using Modelo;
|
|
|
|
namespace AlquilaFacil.Controllers;
|
|
[ApiController]
|
|
public class EstadisticaController: ControllerBase {
|
|
[HttpGet("api/stats/alquileresIniciados")]
|
|
public IActionResult alquileresIniciadosEsteAño([FromHeader(Name ="Auth")]string Auth, int year) {
|
|
if (String.IsNullOrWhiteSpace(Auth)) return BadRequest("");
|
|
var validacion1 = RepositorioGrupos.Singleton.CheckGrupos(Auth, "Informes");
|
|
if (validacion1 == false) return Unauthorized();
|
|
|
|
var validacion2 = RepositorioContratos.Singleton.HayContratosEnAño(year);
|
|
if (validacion2 == false) return BadRequest(new { message = "No hay contratos en ese año"});
|
|
var a = RepositorioEstadisticas.Singleton.ObtenerDataIniciadosPorAño(year);
|
|
return Ok(a);
|
|
}
|
|
[HttpGet("api/tabla/alquileresIniciados")]
|
|
public IActionResult tablaalquileresIniciadosEsteAño([FromHeader(Name ="Auth")]string Auth, int year) {
|
|
if (String.IsNullOrWhiteSpace(Auth)) return BadRequest("");
|
|
var validacion1 = RepositorioGrupos.Singleton.CheckGrupos(Auth, "Informes");
|
|
if (validacion1 == false) return Unauthorized();
|
|
|
|
var validacion2 = RepositorioContratos.Singleton.HayContratosEnAño(year);
|
|
if (validacion2 == false) return BadRequest(new { message = "No hay contratos en ese año"});
|
|
var a = RepositorioEstadisticas.Singleton.TablaObtenerContratosIniciadosPorAño(year);
|
|
if (a == null) return BadRequest(new { message = "Fallo al obtener el contrato"});
|
|
|
|
List<InformesAlquiler> informe =new();
|
|
foreach (var i in a) {
|
|
var d = new InformesAlquilerBuilder()
|
|
.SetId(i.Id).SetUbicacion(i.IdpropiedadNavigation.Ubicacion)
|
|
.SetDivisa(i.IddivisaNavigation.Signo)
|
|
.Build();
|
|
informe.Add(d);
|
|
}
|
|
return Ok(informe);
|
|
}
|
|
[HttpGet("api/stats/duracionContrato")]
|
|
public IActionResult DuracionContrato([FromHeader(Name ="Auth")]string Auth) {
|
|
if (String.IsNullOrWhiteSpace(Auth)) return BadRequest("");
|
|
var validacion1 = RepositorioGrupos.Singleton.CheckGrupos(Auth, "Informes");
|
|
if (validacion1 == false) return Unauthorized();
|
|
|
|
var a = RepositorioEstadisticas.Singleton.ObtenerDataDuracionContratos();
|
|
return Ok(a);
|
|
}
|
|
|
|
[HttpGet("api/tabla/duracionContrato")]
|
|
public IActionResult TablaDuracionContrato([FromHeader(Name ="Auth")]string Auth) {
|
|
if (String.IsNullOrWhiteSpace(Auth)) return BadRequest("");
|
|
var validacion1 = RepositorioGrupos.Singleton.CheckGrupos(Auth, "Informes");
|
|
if (validacion1 == false) return Unauthorized();
|
|
|
|
var a = RepositorioEstadisticas.Singleton.TablaObtenerDataDuracionContratos();
|
|
return Ok(a);
|
|
}
|
|
} |