Untitled
Anonymous
plain_text
03/25/2025 4:11 AM
3.1 KB
16
Indexable
using Clubmates.Web.AppDbContext;
using Clubmates.Web.Areas.Club.Models;
using Clubmates.Web.Areas.Club.Services;
using Clubmates.Web.Models;
using Clubmates.Web.Models.ClubsViewModel;
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using System.Security.Claims;
namespace Clubmates.Web.Areas.Club.Controllers
{
public class HomeController(
AppIdentityDbContext dbContext,
IClubLayoutService clubLayoutService) : ClubBaseController
{
private readonly AppIdentityDbContext _dbContext = dbContext;
private readonly IClubLayoutService _clubLayoutService = clubLayoutService;
public async Task<IActionResult> Index(int? clubId = 0)
{
if (!ModelState.IsValid)
return Redirect("/Clubs/Index");
var club = await _dbContext
.Clubs
.Include(x => x.ClubManager)
.FirstOrDefaultAsync(x => x.ClubId == clubId);
var loggedInUserEmail = HttpContext.User.Claims.FirstOrDefault(x => x.Type == ClaimTypes.Email)?.Value;
if (loggedInUserEmail == null)
return Redirect("/Account/Login");
if (await _clubLayoutService.ValidateClubUser(loggedInUserEmail))
return Redirect("/Account/Login");
var clubLayout = await _clubLayoutService.PopulateClubLayout(loggedInUserEmail, clubId ?? 0);
ViewBag.MainMenuItems = clubLayout.MainMenus;
ViewBag.ImgSrc = clubLayout.Logo;
var clubViewModel = new CustomerClubViewModel();
if (club != null)
{
clubViewModel.ClubId = club.ClubId;
clubViewModel.ClubName = club.ClubName;
clubViewModel.ClubContactNumber = club.ClubContactNumber;
clubViewModel.ClubManager = club.ClubManager?.Email;
clubViewModel.ClubLogo = club.ClubLogo;
clubViewModel.ClubBanner = club.ClubBanner;
clubViewModel.ClubBackground = club.ClubBackground;
clubViewModel.ClubCategory = club.ClubCategory;
clubViewModel.ClubType = club.ClubType;
}
return View(clubViewModel);
}
}
}
Editor is loading...
Leave a Comment