Files
blazor-saas-hrm/Features/Organization/Employee/Components/EmployeePage.razor
T
2026-07-21 14:22:06 +07:00

54 lines
1.9 KiB
Plaintext

@page "/organization/employee"
@using Indotalent.Features.Organization.Employee
@using Indotalent.Features.Organization.Employee.Cqrs
@using MudBlazor
@if (_view == View.Create)
{
<_EmployeeCreateForm OnCancel="() => _view = View.Table" OnSuccess="() => _view = View.Table" />
}
else if (_view == View.Update || _view == View.Detail)
{
<_EmployeeUpdateForm Data="_data!" ReadOnly="@(_view == View.Detail)" OnCancel="() => _view = View.Table" OnSuccess="() => _view = View.Table" />
}
else if (_view == View.Income)
{
<_EmployeeIncomeDataTable EmployeeId="@_selectedId" EmployeeName="@_selectedName" EmployeeCode="@_selectedCode" OnBack="() => _view = View.Table" />
}
else if (_view == View.Deduction)
{
<_EmployeeDeductionDataTable EmployeeId="@_selectedId" EmployeeName="@_selectedName" EmployeeCode="@_selectedCode" OnBack="() => _view = View.Table" />
}
else
{
<_EmployeeDataTable OnAdd="() => _view = View.Create"
OnEdit="d => { _data = d; _view = View.Update; }"
OnView="d => { _data = d; _view = View.Detail; }"
OnIncome="HandleIncome"
OnDeduction="HandleDeduction" />
}
@code {
private enum View { Table, Create, Update, Detail, Income, Deduction }
private View _view = View.Table;
private UpdateEmployeeRequest? _data;
private string _selectedId = string.Empty;
private string _selectedName = string.Empty;
private string _selectedCode = string.Empty;
private void HandleIncome((string Id, string Name, string Code) args)
{
_selectedId = args.Id;
_selectedName = args.Name;
_selectedCode = args.Code;
_view = View.Income;
}
private void HandleDeduction((string Id, string Name, string Code) args)
{
_selectedId = args.Id;
_selectedName = args.Name;
_selectedCode = args.Code;
_view = View.Deduction;
}
}