|
@@ -17,15 +17,31 @@ namespace Comal.Classes
|
|
|
/// This may not be blank.
|
|
|
/// </summary>
|
|
|
[EntityRelationship(DeleteAction.Cascade)]
|
|
|
+ [EditorSequence(1)]
|
|
|
public JobLink Job { get; set; }
|
|
|
|
|
|
+ private class JobRequisitionItemLookup : LookupDefinitionGenerator<JobRequisitionItem, PurchaseOrderItemAllocation>
|
|
|
+ {
|
|
|
+ public override Columns<PurchaseOrderItemAllocation> DefineFilterColumns()
|
|
|
+ {
|
|
|
+ return base.DefineFilterColumns().Add(x => x.Job.ID);
|
|
|
+ }
|
|
|
+
|
|
|
+ public override Filter<JobRequisitionItem>? DefineFilter(PurchaseOrderItemAllocation[] items)
|
|
|
+ {
|
|
|
+ return new Filter<JobRequisitionItem>(x => x.Job.ID).InList(items.ToArray(x => x.Job.ID));
|
|
|
+ }
|
|
|
+ }
|
|
|
/// <summary>
|
|
|
/// This may be an empty link. The interface is as such: if there is no JRI, then we are creating a reserve and allocation just against the job. If there is a JRI,
|
|
|
/// then received stock is reserved and allocated for the JRI.
|
|
|
/// </summary>
|
|
|
[EntityRelationship(DeleteAction.Cascade)]
|
|
|
+ [LookupDefinition(typeof(JobRequisitionItemLookup))]
|
|
|
+ [EditorSequence(2)]
|
|
|
public JobRequisitionItemLink JobRequisitionItem { get; set; }
|
|
|
|
|
|
+ [EditorSequence(3)]
|
|
|
public double Quantity { get; set; }
|
|
|
|
|
|
[NullEditor]
|