Mise en place de la structure définitive du CRUD et modification de la page principale avec les datas
This commit is contained in:
126
Controllers/RevenueController.cs
Normal file
126
Controllers/RevenueController.cs
Normal file
@@ -0,0 +1,126 @@
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using administration.Models;
|
||||
using administration.Services;
|
||||
|
||||
namespace administration.Controllers
|
||||
{
|
||||
[ApiController]
|
||||
[Route("api/[controller]")]
|
||||
public class RevenueController : ControllerBase
|
||||
{
|
||||
private readonly FinancesContext _context;
|
||||
private readonly IUserSessionService _userSession;
|
||||
|
||||
public RevenueController(FinancesContext context, IUserSessionService userSession)
|
||||
{
|
||||
_context = context;
|
||||
_userSession = userSession;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Récupère les X derniers revenues depuis la base de données.
|
||||
/// </summary>
|
||||
/// <param name="rows">Nombre de lignes à retourner</param>
|
||||
/// <returns>Liste des revenues</returns>
|
||||
[HttpGet("x_revenues")]
|
||||
public IActionResult GetXRevenues([FromQuery] int rows = 1)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (_userSession.UserId == null)
|
||||
return Unauthorized("Utilisateur non connecté.");
|
||||
|
||||
var revenues = _context.Revenues
|
||||
.Where(r => r.UserId == _userSession.UserId)
|
||||
.OrderByDescending(r => r.Id)
|
||||
.Take(rows)
|
||||
.ToList();
|
||||
|
||||
return Ok(revenues);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return StatusCode(500, $"Erreur serveur : {ex.Message}, Méthode GetXRevenues");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Récupère le dernier revenue depuis la base de données.
|
||||
/// </summary>
|
||||
/// <returns>Le dernier revenue</returns>
|
||||
[HttpGet("last_revenue")]
|
||||
public IActionResult GetLastRevenues()
|
||||
{
|
||||
try
|
||||
{
|
||||
if (_userSession.UserId == null)
|
||||
return Unauthorized("Utilisateur non connecté.");
|
||||
|
||||
var revenue = _context.Revenues
|
||||
.Where(r => r.UserId == _userSession.UserId)
|
||||
.OrderByDescending(r => r.Id)
|
||||
.FirstOrDefault();
|
||||
|
||||
return Ok(revenue);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return StatusCode(500, $"Erreur serveur : {ex.Message}, Méthode GetLastRevenues");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Récupère tous les revenues depuis la base de données.
|
||||
/// </summary>
|
||||
/// <returns>Liste de revenues</returns>
|
||||
[HttpGet("all_revenues")]
|
||||
public IActionResult GetAllRevenues()
|
||||
{
|
||||
try
|
||||
{
|
||||
if (_userSession.UserId == null)
|
||||
return Unauthorized("Utilisateur non connecté.");
|
||||
|
||||
var revenues = _context.Revenues
|
||||
.Where(r => r.UserId == _userSession.UserId)
|
||||
.OrderByDescending(r => r.Id)
|
||||
.ToList();
|
||||
|
||||
return Ok(revenues);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return StatusCode(500, $"Erreur serveur : {ex.Message}, Méthode GetAllRevenues");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Récupère toutes les ressources supplémentaires dont le type de transaction contient "revenu".
|
||||
/// </summary>
|
||||
/// <returns>Liste des ressources supplémentaires</returns>
|
||||
[HttpGet("additional_revenues")]
|
||||
public IActionResult GetAdditionalRevenues()
|
||||
{
|
||||
try
|
||||
{
|
||||
if (_userSession.UserId == null)
|
||||
return Unauthorized("Utilisateur non connecté.");
|
||||
|
||||
var revenus = _context.AdditionalSources
|
||||
.Where(r => r.UserId == _userSession.UserId &&
|
||||
r.TransactionType.ToLower().Contains("revenu") &&
|
||||
r.Date.Month == DateTime.Now.Month)
|
||||
.OrderByDescending(r => r.Id)
|
||||
.ToList();
|
||||
|
||||
return Ok(revenus);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return StatusCode(500, $"Erreur serveur : {ex.Message}, Méthode GetAdditionalRevenues");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user