123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- using System;
- using InABox.Core;
- namespace Comal.Classes
- {
-
- public enum LeaveRequestApprovalStatus
- {
- Approved,
- NotYetApproved,
- Rejected
- }
-
- public class LeaveRequestApproval : Entity, ISequenceable, IRemotable, IPersistent, ILicense<HumanResourcesLicense>
- {
- private class EmployeeLookup : LookupDefinitionGenerator<Employee, LeaveRequestApproval>
- {
- public override Filter<Employee>? DefineFilter(LeaveRequestApproval[] items)
- {
- return new Filter<Employee>(x => x.ID).NotInList(items.ToArray(x => x.Employee.ID));
- }
- public override Columns<LeaveRequestApproval> DefineFilterColumns()
- {
- return base.DefineFilterColumns().Add(x => x.Employee.ID);
- }
- }
- [EditorSequence(1)]
- [EntityRelationship(DeleteAction.Cascade)]
- [LookupDefinition(typeof(EmployeeLookup))]
- public EmployeeLink Employee { get; set; }
- [NullEditor]
- [EntityRelationship(DeleteAction.Cascade)]
- public LeaveRequestLink LeaveRequest { get; set; }
- [EditorSequence(2)]
- public LeaveRequestApprovalStatus Status { get; set; } = LeaveRequestApprovalStatus.NotYetApproved;
-
- [EditorSequence(3)]
- public string Notes { get; set; }
- [NullEditor]
- public bool IsCustom { get; set; }
- [NullEditor]
- public long Sequence { get; set; }
- static LeaveRequestApproval()
- {
- DefaultColumns.Add<LeaveRequestApproval>(x => x.LeaveRequest.EmployeeLink.Code);
- DefaultColumns.Add<LeaveRequestApproval>(x => x.LeaveRequest.EmployeeLink.Name);
- DefaultColumns.Add<LeaveRequestApproval>(x => x.Employee.Code);
- DefaultColumns.Add<LeaveRequestApproval>(x => x.Employee.Name);
- DefaultColumns.Add<LeaveRequestApproval>(x => x.Status);
- DefaultColumns.Add<LeaveRequestApproval>(x => x.Notes);
- }
- }
- }
|