EmployeePosition.cs 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. using InABox.Core;
  2. using System.Linq;
  3. namespace Comal.Classes
  4. {
  5. [UserTracking(typeof(Employee))]
  6. [Caption("Position")]
  7. public class EmployeePosition : Entity, IPersistent, IRemotable, IOrgChart<EmployeePositionLink>, ILicense<HumanResourcesLicense>, IExportable,
  8. IImportable, IMergeable
  9. {
  10. [EditorSequence(1)]
  11. [UniqueCodeEditor(Visible = Visible.Default, Editable = Editable.Enabled)]
  12. public string Code { get; set; }
  13. [EditorSequence(2)]
  14. [TextBoxEditor]
  15. public string Description { get; set; }
  16. public OrgChartSettings<EmployeePositionLink> OrgChart { get; set; }
  17. }
  18. public class EmployeePositionEmployeePositionLookup : LookupDefinitionGenerator<EmployeePosition, EmployeePosition>
  19. {
  20. public override Filter<EmployeePosition> DefineFilter(EmployeePosition[] items)
  21. {
  22. return new Filter<EmployeePosition>(x => x.ID).NotInList(items.Select(x => x.ID).ToArray());
  23. }
  24. public override Columns<EmployeePosition> DefineFilterColumns()
  25. => new Columns<EmployeePosition>(x => x.ID);
  26. }
  27. }