refactor: unify inquiry status strings using constants (P1-06)
TaxBaik CI/CD / build-and-deploy (push) Successful in 3m33s

Problem: Inquiry status values were hardcoded as strings in multiple places:
- InquiryList.razor: Status="new", Status="consulting", etc.
- InquiryDetail.razor: inquiry.Status = "consulting"
- Makes it error-prone to update status values globally

Solution:
- Add public const fields to InquiryStatusMapper for all status values
- Replace hardcoded strings with constants (StatusNew, StatusConsulting, etc.)
- InquiryList and InquiryDetail now use mapper constants

Result: Single source of truth for status values. Changing a status value now
requires only updating InquiryStatusMapper, and all usages automatically update.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-07-03 11:29:36 +09:00
parent b2dd217017
commit 7ff8689a72
3 changed files with 15 additions and 6 deletions
@@ -4,6 +4,13 @@ using TaxBaik.Domain.Enums;
public static class InquiryStatusMapper
{
// Status storage values (database)
public const string StatusNew = "new";
public const string StatusConsulting = "consulting";
public const string StatusContracted = "contracted";
public const string StatusRejected = "rejected";
public const string StatusClosed = "closed";
public static readonly Dictionary<string, string> Labels = new()
{
["new"] = "신규",
@@ -1,6 +1,7 @@
@page "/admin/inquiries/{InquiryId:int}"
@rendermode @(new InteractiveWebAssemblyRenderMode(prerender: false))
@attribute [Authorize]
@using TaxBaik.Application.Services
@using TaxBaik.Web.Services
@inject IInquiryBrowserClient InquiryClient
@inject NavigationManager Navigation
@@ -179,7 +180,7 @@ else
if (clientId > 0)
{
inquiry.ClientId = clientId;
inquiry.Status = "consulting";
inquiry.Status = InquiryStatusMapper.StatusConsulting;
Snackbar.Add("고객 카드가 생성되었습니다.", Severity.Success);
}
else
@@ -1,6 +1,7 @@
@page "/admin/inquiries"
@rendermode @(new InteractiveWebAssemblyRenderMode(prerender: false))
@attribute [Authorize]
@using TaxBaik.Application.Services
@using TaxBaik.Web.Services
@inject IInquiryBrowserClient InquiryClient
@@ -19,19 +20,19 @@
<InquiryTable Inquiries="allInquiries" Status="" />
</MudTabPanel>
<MudTabPanel Text="신규">
<InquiryTable Inquiries="allInquiries" Status="new" />
<InquiryTable Inquiries="allInquiries" Status="@InquiryStatusMapper.StatusNew" />
</MudTabPanel>
<MudTabPanel Text="상담중">
<InquiryTable Inquiries="allInquiries" Status="consulting" />
<InquiryTable Inquiries="allInquiries" Status="@InquiryStatusMapper.StatusConsulting" />
</MudTabPanel>
<MudTabPanel Text="계약완료">
<InquiryTable Inquiries="allInquiries" Status="contracted" />
<InquiryTable Inquiries="allInquiries" Status="@InquiryStatusMapper.StatusContracted" />
</MudTabPanel>
<MudTabPanel Text="거절">
<InquiryTable Inquiries="allInquiries" Status="rejected" />
<InquiryTable Inquiries="allInquiries" Status="@InquiryStatusMapper.StatusRejected" />
</MudTabPanel>
<MudTabPanel Text="종결">
<InquiryTable Inquiries="allInquiries" Status="closed" />
<InquiryTable Inquiries="allInquiries" Status="@InquiryStatusMapper.StatusClosed" />
</MudTabPanel>
</MudTabs>
</AdminDataPanel>