| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- using Comal.Classes;
- using InABox.Configuration;
- using InABox.Core;
- using InABox.DynamicGrid;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace PRSDesktop
- {
- 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))) { 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;
- }
- }
- }
|