@using TaxBaik.Web.Services
@using TaxBaik.Domain.Entities
@inject ITaxFilingBrowserClient FilingClient
@inject ISnackbar Snackbar
@if (Filings == null || Filings.Count == 0)
{
항목이 없습니다.
}
else
{
고객
신고 유형
기한
D-day
메모
처리
@context.ClientName
@context.FilingType
@context.DueDate.ToString("yyyy-MM-dd")
@{
var dday = (context.DueDate.Date - DateTime.Today).Days;
}
@if (dday < 0)
{
D+@(-dday)
}
else if (dday <= 7)
{
D-@dday
}
else
{
D-@dday
}
@(context.Memo ?? "")
@if (context.Status == "pending")
{
완료
}
else if (context.Status == "filed")
{
완료
}
}
@code {
[Parameter]
public List? Filings { get; set; }
[Parameter]
public EventCallback OnStatusChange { get; set; }
private async Task MarkFiled(TaxFiling filing)
{
try
{
filing.Status = "filed";
var result = await FilingClient.UpdateAsync(filing.Id, filing);
if (result != null)
{
Snackbar.Add("신고 완료 처리되었습니다.", Severity.Success);
await OnStatusChange.InvokeAsync();
}
else
{
Snackbar.Add("처리 실패", Severity.Error);
}
}
catch (Exception ex)
{
Snackbar.Add($"오류: {ex.Message}", Severity.Error);
}
}
private async Task DeleteFiling(int id)
{
try
{
var success = await FilingClient.DeleteAsync(id);
if (success)
{
Snackbar.Add("삭제되었습니다.", Severity.Info);
await OnStatusChange.InvokeAsync();
}
else
{
Snackbar.Add("삭제 실패", Severity.Error);
}
}
catch (Exception ex)
{
Snackbar.Add($"오류: {ex.Message}", Severity.Error);
}
}
}