MyRequisitionItems.cs 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. using System;
  2. using System.Linq;
  3. using Comal.Classes;
  4. using InABox.Core;
  5. using InABox.DynamicGrid;
  6. namespace PRSDesktop;
  7. public class MyRequisitionItems : DynamicDataGrid<RequisitionItem>
  8. {
  9. public Guid RequisitionID { get; set; }
  10. public MyRequisitionItems() : base()
  11. {
  12. ColumnsTag = nameof(MyRequisitionItems);
  13. }
  14. public override DynamicGridColumns GenerateColumns()
  15. {
  16. var columns = new DynamicGridColumns();
  17. columns.Add<RequisitionItem, Guid>(x => x.Product.ID,80,"Product","",Alignment.MiddleLeft);
  18. columns.Add<RequisitionItem, string>(x => x.Description,0,"Items Required","",Alignment.MiddleLeft);
  19. columns.Add<RequisitionItem, String>(x => x.Dimensions.UnitSize,80,"Size","",Alignment.MiddleLeft);
  20. columns.Add<RequisitionItem, Guid>(x => x.Style.ID,80,"Style","",Alignment.MiddleLeft);
  21. columns.Add<RequisitionItem, double>(x => x.Quantity,50,"Qty","F2",Alignment.MiddleCenter);
  22. return columns;
  23. }
  24. protected override void DoReconfigure(FluentList<DynamicGridOption> options)
  25. {
  26. base.DoReconfigure(options);
  27. options.BeginUpdate()
  28. .Clear()
  29. .Add(DynamicGridOption.AddRows)
  30. .Add(DynamicGridOption.EditRows)
  31. .Add(DynamicGridOption.DeleteRows)
  32. .EndUpdate();
  33. }
  34. protected override void Reload(Filters<RequisitionItem> criteria, Columns<RequisitionItem> columns, ref SortOrder<RequisitionItem>? sort, Action<CoreTable?, Exception?> action)
  35. {
  36. criteria.Add(
  37. new Filter<RequisitionItem>(x => x.RequisitionLink.ID).IsEqualTo(RequisitionID)
  38. );
  39. base.Reload(criteria, columns, ref sort, action);
  40. }
  41. public override RequisitionItem CreateItem()
  42. {
  43. var result = base.CreateItem();
  44. result.RequisitionLink.ID = RequisitionID;
  45. result.Quantity = 1;
  46. return result;
  47. }
  48. protected override BaseEditor? GetEditor(object item, DynamicGridColumn column)
  49. {
  50. if (column.ColumnName == CoreUtils.GetFullPropertyName<RequisitionItem, double>(x => x.ActualQuantity, "."))
  51. return new NullEditor();
  52. if (column.ColumnName == CoreUtils.GetFullPropertyName<RequisitionItem, Guid>(x => x.Location.ID, "."))
  53. return new NullEditor();
  54. if (column.ColumnName == CoreUtils.GetFullPropertyName<RequisitionItem, DateTime>(x => x.Picked, "."))
  55. return new NullEditor();
  56. if (column.ColumnName == CoreUtils.GetFullPropertyName<RequisitionItem, Guid>(x => x.JobRequisitionItem.ID, "."))
  57. return new NullEditor();
  58. if (column.ColumnName.StartsWith($"{CoreUtils.GetFullPropertyName<RequisitionItem, ActualCharge>(x => x.Charge, ".")}."))
  59. return new NullEditor();
  60. if (column.ColumnName == CoreUtils.GetFullPropertyName<RequisitionItem, Guid>(x => x.JobScope.ID, "."))
  61. return new NullEditor();
  62. if (column.ColumnName == CoreUtils.GetFullPropertyName<RequisitionItem, Guid>(x => x.Image.ID, "."))
  63. return new NullEditor();
  64. return base.GetEditor(item, column);
  65. }
  66. }