|
@@ -8,54 +8,57 @@ using System.Linq;
|
|
|
using System.Text;
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
-namespace PRSDesktop
|
|
|
+namespace PRSDesktop;
|
|
|
+
|
|
|
+public class EmployeeRoleCrossTab : DynamicManyToManyCrossTab<EmployeeRole, Employee, Role>
|
|
|
{
|
|
|
- public class EmployeeRoleCrossTab : DynamicManyToManyCrossTab<EmployeeRole, Employee, Role>
|
|
|
+ public DynamicGridFilterButtonComponent<Employee> EmployeeFilter { get; init; }
|
|
|
+
|
|
|
+ public DynamicGridFilterButtonComponent<Role> RoleFilter { get; init; }
|
|
|
+
|
|
|
+ public EmployeeRoleCrossTab()
|
|
|
+ {
|
|
|
+ EmployeeFilter = new(this,
|
|
|
+ new GlobalConfiguration<CoreFilterDefinitions>(nameof(Employee)),
|
|
|
+ new UserConfiguration<CoreFilterDefinitions>(nameof(Employee))) { ButtonText = "Employees" };
|
|
|
+ RoleFilter = new(this,
|
|
|
+ new GlobalConfiguration<CoreFilterDefinitions>(nameof(Role)),
|
|
|
+ new UserConfiguration<CoreFilterDefinitions>(nameof(Role))) { ButtonText = "Roles" };
|
|
|
+
|
|
|
+ EmployeeFilter.OnFilterRefresh += () => Refresh(false, true);
|
|
|
+ RoleFilter.OnFilterRefresh += () => Refresh(true, true);
|
|
|
+ }
|
|
|
+
|
|
|
+ protected override Filter<Employee>? RowFilter()
|
|
|
+ {
|
|
|
+ return EmployeeFilter.GetFilter();
|
|
|
+ }
|
|
|
+
|
|
|
+ protected override Filter<Role>? ColumnFilter()
|
|
|
+ {
|
|
|
+ return RoleFilter.GetFilter();
|
|
|
+ }
|
|
|
+
|
|
|
+ protected override Columns<Role>? LoadColumnColumns()
|
|
|
+ {
|
|
|
+ return new Columns<Role>(x => x.Code);
|
|
|
+ }
|
|
|
+
|
|
|
+ protected override string FormatColumnHeader(CoreRow row)
|
|
|
+ {
|
|
|
+ return row.Get<Role, string>(x => x.Code);
|
|
|
+ }
|
|
|
+
|
|
|
+ protected override SortOrder<Role>? LoadColumnSort()
|
|
|
+ {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ protected override DynamicGridColumns LoadRowColumns()
|
|
|
{
|
|
|
- public DynamicGridFilterButtonComponent<Employee> EmployeeFilter { get; init; }
|
|
|
-
|
|
|
- public DynamicGridFilterButtonComponent<Role> RoleFilter { get; init; }
|
|
|
-
|
|
|
- public EmployeeRoleCrossTab()
|
|
|
- {
|
|
|
- EmployeeFilter = new(this, new GlobalConfiguration<CoreFilterDefinitions>(nameof(Employee))) { ButtonText = "Employees" };
|
|
|
- RoleFilter = new(this, new GlobalConfiguration<CoreFilterDefinitions>(nameof(Role))) { ButtonText = "Roles" };
|
|
|
-
|
|
|
- EmployeeFilter.OnFilterRefresh += () => Refresh(false, true);
|
|
|
- RoleFilter.OnFilterRefresh += () => Refresh(true, true);
|
|
|
- }
|
|
|
-
|
|
|
- protected override Filter<Employee>? RowFilter()
|
|
|
- {
|
|
|
- return EmployeeFilter.GetFilter();
|
|
|
- }
|
|
|
-
|
|
|
- protected override Filter<Role>? ColumnFilter()
|
|
|
- {
|
|
|
- return RoleFilter.GetFilter();
|
|
|
- }
|
|
|
-
|
|
|
- protected override Columns<Role>? LoadColumnColumns()
|
|
|
- {
|
|
|
- return new Columns<Role>(x => x.Code);
|
|
|
- }
|
|
|
-
|
|
|
- protected override string FormatColumnHeader(CoreRow row)
|
|
|
- {
|
|
|
- return row.Get<Role, string>(x => x.Code);
|
|
|
- }
|
|
|
-
|
|
|
- protected override SortOrder<Role>? LoadColumnSort()
|
|
|
- {
|
|
|
- return null;
|
|
|
- }
|
|
|
-
|
|
|
- protected override DynamicGridColumns LoadRowColumns()
|
|
|
- {
|
|
|
- var columns = new DynamicGridColumns();
|
|
|
- columns.Add<Employee, string>(x => x.Code, 100, "Code", "", Alignment.MiddleLeft);
|
|
|
- columns.Add<Employee, string>(x => x.Name, 100, "Name", "", Alignment.MiddleLeft);
|
|
|
- return columns;
|
|
|
- }
|
|
|
+ var columns = new DynamicGridColumns();
|
|
|
+ columns.Add<Employee, string>(x => x.Code, 100, "Code", "", Alignment.MiddleLeft);
|
|
|
+ columns.Add<Employee, string>(x => x.Name, 100, "Name", "", Alignment.MiddleLeft);
|
|
|
+ return columns;
|
|
|
}
|
|
|
}
|