12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- using InABox.Core;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace Comal.Classes
- {
-
- public class JobRequisitionItemPurchaseOrderLink : EntityLink<PurchaseOrder>
- {
-
- [NullEditor]
- public override Guid ID { get; set; }
-
- [NullEditor]
- public string PONumber { get; set; }
-
- [NullEditor]
- public DateTime ClosedDate { get; set; }
-
- }
-
- public class JobRequisitionItemProductLink : EntityLink<Product>
- {
- [NullEditor]
- public override Guid ID { get; set; }
-
- [NullEditor]
- public String Code { get; set; }
- }
-
- public class JobRequisitionItemPurchaseOrderItemLink : EntityLink<PurchaseOrderItem>
- {
- [NullEditor]
- public override Guid ID { get; set; }
-
- [NullEditor]
- public JobRequisitionItemPurchaseOrderLink PurchaseOrderLink { get; set; }
-
- [NullEditor]
- public JobRequisitionItemProductLink Product { get; set; }
- [NullEditor]
- public StockDimensions Dimensions { get; set; }
- [NullEditor]
- public double Qty { get; set; }
- [NullEditor]
- public DateTime ReceivedDate { get; set; }
-
- }
-
- public class JobRequisitionItemPurchaseOrderItem : Entity, IRemotable, IPersistent, IOneToMany<JobRequisitionItem>, ILicense<ProjectManagementLicense>
- {
- [NullEditor]
- [EntityRelationship(DeleteAction.Cascade)]
- public JobRequisitionItemLink JobRequisitionItem { get; set; }
- private class PurchaseOrderItemLookup : LookupDefinitionGenerator<PurchaseOrderItem, JobRequisitionItemPurchaseOrderItem>
- {
- public override Filter<PurchaseOrderItem>? DefineFilter(JobRequisitionItemPurchaseOrderItem[] items)
- {
- var jobs = items.Select(x => x.JobRequisitionItem.Job.ID).Distinct().ToArray();
- var products = items.Select(x => x.JobRequisitionItem.Product.ID).Distinct().ToArray();
- if(jobs.Length == 1 && products.Length == 1)
- {
- return new Filter<PurchaseOrderItem>(x => x.Job.ID).IsEqualTo(jobs.First())
- .And(x => x.Product.ID).IsEqualTo(products.First());
- }
- {
- return new Filter<PurchaseOrderItem>().None();
- }
- }
- public override Columns<JobRequisitionItemPurchaseOrderItem> DefineFilterColumns()
- => Columns.None<JobRequisitionItemPurchaseOrderItem>().Add(x => x.JobRequisitionItem.Job.ID)
- .Add(x => x.JobRequisitionItem.Product.ID);
- }
- [LookupDefinition(typeof(PurchaseOrderItemLookup))]
- [EntityRelationship(DeleteAction.Cascade)]
- public JobRequisitionItemPurchaseOrderItemLink PurchaseOrderItem { get; set; }
- }
- }
|