diff --git a/TaxBaik.Web/Components/Site/Home.razor b/TaxBaik.Web/Components/Site/Home.razor index 7ba1124..d2b4af2 100644 --- a/TaxBaik.Web/Components/Site/Home.razor +++ b/TaxBaik.Web/Components/Site/Home.razor @@ -1,4 +1,3 @@ -@page "/" @using TaxBaik.Application.Seasonal @using TaxBaik.Application.Services @inject SeasonalMarketingService SeasonalMarketingService diff --git a/TaxBaik.Web/Controllers/RevenueTrackingController.cs b/TaxBaik.Web/Controllers/RevenueTrackingController.cs index 0534ee1..d850125 100644 --- a/TaxBaik.Web/Controllers/RevenueTrackingController.cs +++ b/TaxBaik.Web/Controllers/RevenueTrackingController.cs @@ -41,16 +41,11 @@ public class RevenueTrackingController(RevenueTrackingService service) : Control [HttpGet("{id:int}")] public async Task GetById(int id) { - try + return StatusCode(StatusCodes.Status501NotImplemented, new { - // GetByIdAsync가 없으면 GetByClientIdAsync를 사용하거나 별도 구현 필요 - // 임시로 구현 - 실제로는 repository에 GetByIdAsync 추가 필요 - return Ok(new { message = "조회됨" }); - } - catch (Exception ex) - { - return StatusCode(500, new { error = "조회 실패", message = ex.Message }); - } + error = "미구현", + message = "RevenueTrackingService.GetByIdAsync 구현이 필요합니다." + }); } [HttpGet("client/{clientId:int}")] diff --git a/TaxBaik.Web/Pages/Index.cshtml b/TaxBaik.Web/Pages/Index.cshtml index e363f3d..8880a8d 100644 --- a/TaxBaik.Web/Pages/Index.cshtml +++ b/TaxBaik.Web/Pages/Index.cshtml @@ -1,4 +1,4 @@ -@page +@page "/" @{ Layout = null; } diff --git a/TaxBaik.Web/Pages/Index.cshtml.cs b/TaxBaik.Web/Pages/Index.cshtml.cs deleted file mode 100644 index 85b3919..0000000 --- a/TaxBaik.Web/Pages/Index.cshtml.cs +++ /dev/null @@ -1,76 +0,0 @@ -using Microsoft.AspNetCore.Mvc.RazorPages; -using TaxBaik.Application.Seasonal; -using TaxBaik.Application.Services; -using TaxBaik.Domain.Entities; - -namespace TaxBaik.Web.Pages; - -public class IndexModel : PageModel -{ - private readonly BlogService _blogService; - private readonly SeasonalMarketingService _seasonalMarketingService; - private readonly AnnouncementService _announcementService; - private readonly FaqService _faqService; - - public List RecentPosts { get; set; } = []; - public List SeasonalPosts { get; set; } = []; - public CurrentSeasonDto? CurrentSeason { get; set; } - public List ActiveAnnouncements { get; set; } = []; - public List ActiveFaqs { get; set; } = []; - - public IndexModel( - BlogService blogService, - SeasonalMarketingService seasonalMarketingService, - AnnouncementService announcementService, - FaqService faqService) - { - _blogService = blogService; - _seasonalMarketingService = seasonalMarketingService; - _announcementService = announcementService; - _faqService = faqService; - } - - public async Task OnGetAsync() - { - CurrentSeason = _seasonalMarketingService.GetCurrentSeason(); - - var announcementsTask = LoadSafeAsync(() => _announcementService.GetActiveAsync()); - var faqsTask = LoadSafeAsync(() => _faqService.GetActiveAsync()); - var blogTask = LoadBlogAsync(); - - await Task.WhenAll(announcementsTask, faqsTask, blogTask); - - ActiveAnnouncements = (await announcementsTask)?.ToList() ?? []; - ActiveFaqs = (await faqsTask)?.ToList() ?? []; - } - - private async Task LoadBlogAsync() - { - try - { - if (CurrentSeason is not null && !string.IsNullOrEmpty(CurrentSeason.RelatedCategorySlug)) - { - var (seasonal, latest) = await _blogService.GetSeasonalPostsAsync( - CurrentSeason.RelatedCategorySlug, seasonalCount: 2, totalCount: 3); - SeasonalPosts = seasonal.ToList(); - RecentPosts = latest.ToList(); - } - else - { - var (posts, _) = await _blogService.GetPublishedPagedAsync(1, 3); - RecentPosts = posts.ToList(); - } - } - catch - { - RecentPosts = []; - SeasonalPosts = []; - } - } - - private static async Task?> LoadSafeAsync(Func>> loader) - { - try { return await loader(); } - catch { return null; } - } -}