SupplierPurchaseOrderItemOneToMany.cs 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. using System;
  2. using System.Collections.Generic;
  3. using Comal.Classes;
  4. using InABox.DynamicGrid;
  5. namespace PRSDesktop
  6. {
  7. public class SupplierPurchaseOrderItemOneToMany : DynamicOneToManyGrid<PurchaseOrder,PurchaseOrderItem>
  8. {
  9. public SupplierPurchaseOrderItemOneToMany() : base()
  10. {
  11. }
  12. protected override void OnAfterEditorValueChanged(DynamicEditorGrid grid, PurchaseOrderItem[] items, string columnnname, Dictionary<string, object?> changes)
  13. {
  14. base.OnAfterEditorValueChanged(grid, items, columnnname, changes);
  15. if (columnnname.Equals("Product.ID") || columnnname.Equals("Job.ID") || columnnname.StartsWith("Dimensions."))
  16. {
  17. PurchaseOrder.UpdateCosts(
  18. items,
  19. Item.SupplierLink.ID,
  20. changes
  21. );
  22. }
  23. }
  24. protected override Dictionary<string, object?> EditorValueChanged(IDynamicEditorForm editor, PurchaseOrderItem[] items, string name,
  25. object value)
  26. {
  27. var results = base.EditorValueChanged(editor, items, name, value);
  28. if (name.Equals("ProductLink.TaxCode.ID"))
  29. DynamicGridUtils.UpdateEditorValue(items, "TaxCode.ID", (Guid)value, results);
  30. return results;
  31. }
  32. }
  33. }