fix: CRM 페이지 다이얼로그의 콤보박스 기본 고객 바인딩 수정 및 폼 유효성 검사(Validation) 보강
TaxBaik CI/CD / build-and-deploy (push) Successful in 1m23s

This commit is contained in:
2026-06-29 16:00:42 +09:00
parent a3c81c4f70
commit a4b1234900
5 changed files with 85 additions and 5 deletions
@@ -161,7 +161,11 @@
private void OpenCreateDialog()
{
editingActivity = null;
activityForm = new ConsultingActivityForm { ActivityDate = DateTime.Now };
activityForm = new ConsultingActivityForm
{
ActivityDate = DateTime.Now,
ClientId = clients.FirstOrDefault()?.Id ?? 0
};
isDialogOpen = true;
}
@@ -181,6 +185,16 @@
private async Task SaveActivity()
{
if (form != null)
{
await form.Validate();
if (!form.IsValid)
{
Snackbar.Add("필수 항목을 입력해주세요.", Severity.Warning);
return;
}
}
try
{
if (editingActivity == null)
@@ -171,12 +171,26 @@
private void OpenCreateDialog()
{
contractForm = new();
contractForm = new ContractForm
{
ClientId = clients.FirstOrDefault()?.Id ?? 0,
StartDate = DateTime.Today
};
isDialogOpen = true;
}
private async Task SaveContract()
{
if (form != null)
{
await form.Validate();
if (!form.IsValid)
{
Snackbar.Add("필수 항목을 입력해주세요.", Severity.Warning);
return;
}
}
try
{
var newId = await ContractClient.CreateAsync(
@@ -156,12 +156,27 @@
private void OpenCreateDialog()
{
revenueForm = new();
revenueForm = new RevenueForm
{
ClientId = clients.FirstOrDefault()?.Id ?? 0,
InvoiceDate = DateTime.Today,
DueDate = DateTime.Today.AddDays(14)
};
isDialogOpen = true;
}
private async Task SaveRevenue()
{
if (form != null)
{
await form.Validate();
if (!form.IsValid)
{
Snackbar.Add("필수 항목을 입력해주세요.", Severity.Warning);
return;
}
}
try
{
var newId = await RevenueClient.CreateAsync(
@@ -184,12 +184,27 @@
private void OpenCreateDialog()
{
scheduleForm = new TaxFilingScheduleForm { FilingYear = DateTime.Now.Year };
scheduleForm = new TaxFilingScheduleForm
{
FilingYear = DateTime.Now.Year,
DueDate = DateTime.Today,
ClientId = clients.FirstOrDefault()?.Id ?? 0
};
isDialogOpen = true;
}
private async Task SaveSchedule()
{
if (form != null)
{
await form.Validate();
if (!form.IsValid)
{
Snackbar.Add("필수 항목을 입력해주세요.", Severity.Warning);
return;
}
}
try
{
var newId = await TaxFilingClient.CreateAsync(
@@ -154,7 +154,12 @@ else
{
isEditMode = false;
editingProfile = null;
profileForm = new();
profileForm = new TaxProfileForm
{
ClientId = clients.FirstOrDefault()?.Id ?? 0,
TaxRiskLevel = "normal",
NextFilingDueDate = DateTime.Today.AddMonths(1)
};
isDialogOpen = true;
}
@@ -175,6 +180,16 @@ else
private async Task SaveProfile()
{
if (form != null)
{
await form.Validate();
if (!form.IsValid)
{
Snackbar.Add("필수 항목을 입력해주세요.", Severity.Warning);
return;
}
}
try
{
if (isEditMode)
@@ -194,6 +209,13 @@ else
profileForm.BusinessType);
if (newId > 0)
{
// 생성 후 상태 업데이트 처리
await TaxProfileClient.UpdateAsync(
newId,
profileForm.BusinessType,
null,
profileForm.NextFilingDueDate,
profileForm.TaxRiskLevel);
Snackbar.Add("세무 프로필이 추가되었습니다.", Severity.Success);
}
}