Ajout de HelloFresh

This commit is contained in:
2025-09-03 20:17:50 +02:00
parent bcef0a472b
commit d287112b7d
429 changed files with 82881 additions and 22074 deletions

View File

@@ -1,46 +1,63 @@
using System.Diagnostics;
using Microsoft.AspNetCore.Mvc;
using System.Diagnostics;
using System.Security.Claims;
using administration.Models;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace administration.Controllers;
public class HomeController : Controller
namespace administration.Controllers
{
private readonly FinancesContext _context;
public HomeController(FinancesContext context)
[Authorize] // toute la classe nécessite une connexion
public class HomeController : Controller
{
_context = context;
}
private readonly ILogger<HomeController> _logger;
public IActionResult Index()
{
// R<>cup<75>re un utilisateur fictif pour l<>exemple
var user = _context.Users.Where(X => X.Id == 2).First(); // <20> remplacer par un filtre r<>el (par ex. Email ou Id)
if (user != null)
public HomeController(ILogger<HomeController> logger)
{
// Stocker dans la session
HttpContext.Session.SetInt32("UserId", user.Id);
HttpContext.Session.SetString("UserName", user.Name);
_logger = logger;
}
return View();
}
public IActionResult Profile()
{
int? userId = HttpContext.Session.GetInt32("UserId");
string userName = HttpContext.Session.GetString("UserName");
public IActionResult Index()
{
EnsureSessionFromClaims();
return View();
}
ViewBag.UserId = userId;
ViewBag.UserName = userName;
public IActionResult Profile()
{
EnsureSessionFromClaims();
return View();
}
ViewBag.UserId = HttpContext.Session.GetInt32("UserId");
ViewBag.UserName = HttpContext.Session.GetString("UserName");
[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
public IActionResult Error()
{
return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
return View();
}
[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
public IActionResult Error()
{
return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
}
/// <summary>
/// Si la session est vide, recharge UserId et UserName depuis les claims
/// </summary>
private void EnsureSessionFromClaims()
{
if (!HttpContext.Session.Keys.Contains("UserId") || !HttpContext.Session.Keys.Contains("UserName"))
{
var userIdClaim = User.FindFirstValue(ClaimTypes.NameIdentifier);
var userNameClaim = User.FindFirstValue(ClaimTypes.Name);
if (!string.IsNullOrEmpty(userIdClaim) && int.TryParse(userIdClaim, out int userId))
{
HttpContext.Session.SetInt32("UserId", userId);
}
if (!string.IsNullOrEmpty(userNameClaim))
{
HttpContext.Session.SetString("UserName", userNameClaim);
}
}
}
}
}