PurchaseOrderItemAllocationGrid.cs 1.5 KB

1234567891011121314151617181920212223242526272829303132333435
  1. using Comal.Classes;
  2. using InABox.Core;
  3. using InABox.DynamicGrid;
  4. using InABox.WPF;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Threading.Tasks;
  10. using System.Windows.Media.Imaging;
  11. namespace PRSDesktop.Panels.PurchaseOrders;
  12. public class PurchaseOrderItemAllocationGrid : DynamicOneToManyGrid<PurchaseOrderItem, PurchaseOrderItemAllocation>
  13. {
  14. public override DynamicGridColumns GenerateColumns()
  15. {
  16. var columns = new DynamicGridColumns();
  17. columns.Add<PurchaseOrderItemAllocation>(x => x.Job.JobNumber, 120, "Job Number", "", Alignment.MiddleCenter);
  18. columns.Add<PurchaseOrderItemAllocation>(x => x.Job.Name, 0, "Job Name", "", Alignment.MiddleLeft);
  19. columns.Add<PurchaseOrderItemAllocation>(x => x.JobRequisitionItem.Requisition.Number, 120, "Requi #", "", Alignment.MiddleCenter);
  20. columns.Add<PurchaseOrderItemAllocation>(x => x.JobRequisitionItem.Requisition.Description, 0, "Requi Description", "", Alignment.MiddleLeft);
  21. columns.Add<PurchaseOrderItemAllocation>(x => x.Quantity, 70, "Quantity", "F2", Alignment.MiddleRight);
  22. return columns;
  23. }
  24. protected override void DoValidate(PurchaseOrderItemAllocation[] items, List<string> errors)
  25. {
  26. base.DoValidate(items, errors);
  27. if(items.Any(x => x.Job.ID == Item.Job.ID && x.JobRequisitionItem.ID == Guid.Empty))
  28. {
  29. errors.Add("[Job] may not be equivalent to the Job on the PurchaseOrderItem.");
  30. }
  31. }
  32. }