54 lines
1.9 KiB
Plaintext
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;
|
|
}
|
|
} |