refactor: unify inquiry status strings using constants (P1-06)
TaxBaik CI/CD / build-and-deploy (push) Successful in 3m33s
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:
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user