JobRequisitionItemGrid.cs 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. using System;
  2. using Comal.Classes;
  3. using InABox.Core;
  4. using InABox.DynamicGrid;
  5. namespace PRSDesktop
  6. {
  7. internal class JobRequisitionItemGrid : DynamicDataGrid<JobRequisitionItem>
  8. {
  9. public JobRequisitionItemGrid()
  10. {
  11. Options.AddRange(
  12. DynamicGridOption.RecordCount,
  13. DynamicGridOption.SelectColumns,
  14. DynamicGridOption.FilterRows,
  15. DynamicGridOption.MultiSelect
  16. );
  17. }
  18. public Guid JobID { get; set; }
  19. public Guid RequisitionID { get; set; }
  20. protected override void Reload(Filters<JobRequisitionItem> criteria, Columns<JobRequisitionItem> columns,
  21. ref SortOrder<JobRequisitionItem> sort,
  22. Action<CoreTable, Exception> action)
  23. {
  24. criteria.Add(new Filter<JobRequisitionItem>(x => x.Requisition.ID).IsEqualTo(RequisitionID));
  25. base.Reload(criteria, columns, ref sort, action);
  26. }
  27. protected override JobRequisitionItem CreateItem()
  28. {
  29. var result = base.CreateItem();
  30. result.Requisition.ID = RequisitionID;
  31. result.Requisition.Job.ID = JobID;
  32. result.Job.ID = JobID;
  33. return result;
  34. }
  35. protected override void GenerateColumns(DynamicGridColumns columns)
  36. {
  37. columns.Add<JobRequisitionItem, DateTime>(x => x.Created, 80, "Date", "", Alignment.MiddleLeft);
  38. columns.Add<JobRequisitionItem, string>(x => x.Requisition.Job.JobNumber, 70, "Job", "", Alignment.MiddleLeft);
  39. columns.Add<JobRequisitionItem, int>(x => x.Requisition.Number, 50, "NO.", "", Alignment.MiddleLeft);
  40. columns.Add<JobRequisitionItem, string>(x => x.Product.Code, 70, "Code", "", Alignment.MiddleLeft);
  41. columns.Add<JobRequisitionItem, string>(x => x.Product.Name, 200, "Product Name", "", Alignment.MiddleLeft);
  42. columns.Add<JobRequisitionItem, string>(x => x.Style.Description, 150, "Style", "", Alignment.MiddleLeft);
  43. columns.Add<JobRequisitionItem, double>(x => x.Qty, 50, "Qty", "", Alignment.MiddleLeft);
  44. columns.Add<JobRequisitionItem, string>(x => x.Dimensions.UnitSize, 50, "Size", "", Alignment.MiddleLeft);
  45. columns.Add<JobRequisitionItem, string>(x => x.PurchaseOrderItem.PurchaseOrderLink.PONumber, 80, "PO Number", "", Alignment.MiddleLeft);
  46. columns.Add<JobRequisitionItem, string>(x => x.PurchaseOrderItem.PONumber, 80, "PO Number", "", Alignment.MiddleLeft);
  47. columns.Add<JobRequisitionItem, DateTime>(x => x.PurchaseOrderItem.DueDate, 80, "Due", "", Alignment.MiddleLeft);
  48. columns.Add<JobRequisitionItem, DateTime>(x => x.PurchaseOrderItem.ReceivedDate, 80, "Received", "", Alignment.MiddleLeft);
  49. columns.Add<JobRequisitionItem, JobRequisitionItemStatus>(x => x.Status, 80, "Status", "", Alignment.MiddleLeft);
  50. columns.Add<JobRequisitionItem, string>(x => x.Notes, 300, "Notes", "", Alignment.MiddleLeft);
  51. base.GenerateColumns(columns);
  52. }
  53. }
  54. }