| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- using InABox.Core;
- using System;
- using System.Collections.Generic;
- using System.Text;
- namespace Comal.Classes
- {
-
- public enum BillApprovalStatus
- {
- Unknown,
- NotYetApproved,
- Approved,
- Rejected,
- }
-
- public class BillApproval : Entity, ISequenceable, IRemotable, IPersistent, ILicense<AccountsPayableLicense>
- {
- private class EmployeeLookup : LookupDefinitionGenerator<Employee, BillApproval>
- {
- public override Filter<Employee>? DefineFilter(BillApproval[] items)
- {
- return Filter<Employee>.Where(x => x.ID).NotInList(items.ToArray(x => x.Employee.ID));
- }
- public override Columns<BillApproval> 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)]
- [RequiredColumn]
- public BillLink Bill { get; set; }
-
- [EditorSequence(2)]
- public BillApprovalStatus Status { get; set; } = BillApprovalStatus.NotYetApproved;
-
- [EditorSequence(3)]
- public string Notes { get; set; }
- [NullEditor]
- public bool IsCustom { get; set; }
- [NullEditor]
- public long Sequence { get; set; }
- static BillApproval()
- {
- DefaultColumns.Add<BillApproval>(x => x.Bill.Number);
- DefaultColumns.Add<BillApproval>(x => x.Employee.Code);
- DefaultColumns.Add<BillApproval>(x => x.Employee.Name);
- DefaultColumns.Add<BillApproval>(x => x.Status);
- DefaultColumns.Add<BillApproval>(x => x.Notes);
- }
- }
- }
|