StagingManufacturingPacketGrid.cs 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. using Comal.Classes;
  2. using InABox.Core;
  3. using InABox.DynamicGrid;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Controls;
  10. namespace PRSDesktop.Panels.Staging
  11. {
  12. public class StagingManufacturingPacketGrid : DynamicDataGrid<StagingManufacturingPacket>
  13. {
  14. private StagingSetout stagingsetout;
  15. public StagingSetout StagingSetout
  16. {
  17. get => stagingsetout;
  18. set
  19. {
  20. stagingsetout = value;
  21. Refresh(true, true);
  22. if (stagingsetout.ID != Guid.Empty)
  23. Options.Add(DynamicGridOption.AddRows);
  24. else
  25. Options.Remove(DynamicGridOption.AddRows);
  26. }
  27. }
  28. public StagingManufacturingPacketGrid()
  29. {
  30. Options.Add(DynamicGridOption.SelectColumns);
  31. Options.Add(DynamicGridOption.RecordCount);
  32. Options.Add(DynamicGridOption.DeleteRows);
  33. Options.Remove(DynamicGridOption.AddRows);
  34. Options.Remove(DynamicGridOption.MultiSelect);
  35. Options.Remove(DynamicGridOption.ImportData);
  36. }
  37. protected override StagingManufacturingPacket CreateItem()
  38. {
  39. var item = base.CreateItem();
  40. item.StagingSetout.ID = stagingsetout.ID;
  41. item.Job.ID = stagingsetout.JobLink.ID;
  42. item.Serial = stagingsetout.Number;
  43. return item;
  44. }
  45. private bool CreatePacket(Button arg1, CoreRow[] arg2)
  46. {
  47. var page = new StagingManufacturingPacketGrid();
  48. var packet = new StagingManufacturingPacket();
  49. packet.StagingSetout.ID = StagingSetout.ID;
  50. packet.Job.ID = StagingSetout.JobLink.ID;
  51. page.EditItems(new[] { packet} );
  52. return true;
  53. }
  54. protected override void Reload(Filters<StagingManufacturingPacket> criteria, Columns<StagingManufacturingPacket> columns, ref SortOrder<StagingManufacturingPacket>? sort, Action<CoreTable?, Exception?> action)
  55. {
  56. criteria.Add(new Filter<StagingManufacturingPacket>(x => x.StagingSetout.ID).IsEqualTo(StagingSetout.ID));
  57. base.Reload(criteria, columns, ref sort, action);
  58. }
  59. }
  60. }