feat: 고객 포털 세무 신고 및 상담 요약 실시간 대시보드 화면 고도화 및 어드민 UX 리사이징 보완

This commit is contained in:
2026-06-29 00:05:32 +09:00
parent 7e3b4e2229
commit 6a5740ec68
3 changed files with 324 additions and 71 deletions
+37 -1
View File
@@ -1,5 +1,9 @@
using System.Security.Claims;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using TaxBaik.Application.Services;
using TaxBaik.Domain.Entities;
using TaxBaik.Web.Services;
namespace TaxBaik.Web.Pages.Portal;
@@ -7,7 +11,39 @@ namespace TaxBaik.Web.Pages.Portal;
[Authorize(AuthenticationSchemes = PortalAuthDefaults.Scheme)]
public class IndexModel : PageModel
{
public void OnGet()
private readonly TaxFilingService _taxFilingService;
private readonly ConsultingActivityService _consultingActivityService;
private readonly ClientService _clientService;
public IndexModel(
TaxFilingService taxFilingService,
ConsultingActivityService consultingActivityService,
ClientService clientService)
{
_taxFilingService = taxFilingService;
_consultingActivityService = consultingActivityService;
_clientService = clientService;
}
public Client? ClientInfo { get; private set; }
public List<TaxFiling> Filings { get; private set; } = new();
public List<ConsultingActivity> Consultations { get; private set; } = new();
public async Task<IActionResult> OnGetAsync()
{
var clientIdClaim = User.FindFirst("client_id");
if (clientIdClaim != null && int.TryParse(clientIdClaim.Value, out var clientId))
{
ClientInfo = await _clientService.GetByIdAsync(clientId);
if (ClientInfo != null)
{
var filingsData = await _taxFilingService.GetByClientIdAsync(clientId);
Filings = filingsData.OrderBy(f => f.DueDate).ToList();
var consultationsData = await _consultingActivityService.GetByClientIdAsync(clientId);
Consultations = consultationsData.OrderByDescending(c => c.ActivityDate).ToList();
}
}
return Page();
}
}