QuoteProposalGrid.cs 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. using System;
  2. using Comal.Classes;
  3. using InABox.Core;
  4. using InABox.DynamicGrid;
  5. namespace PRSDesktop
  6. {
  7. public class QuoteProposalGrid : DynamicDataGrid<QuoteProposal>, IQuotePage
  8. {
  9. public QuoteProposalGrid()
  10. {
  11. HiddenColumns.Add(x => x.Quote.ID);
  12. HiddenColumns.Add(x => x.ID);
  13. HiddenColumns.Add(x => x.Preamble);
  14. HiddenColumns.Add(x => x.Summary);
  15. HiddenColumns.Add(x => x.ExTax);
  16. HiddenColumns.Add(x => x.TaxCode.ID);
  17. HiddenColumns.Add(x => x.IncTax);
  18. }
  19. protected override void DoReconfigure(FluentList<DynamicGridOption> options)
  20. {
  21. base.DoReconfigure(options);
  22. options.AddRange(DynamicGridOption.RecordCount, DynamicGridOption.SelectColumns);
  23. }
  24. public Quote Quote { get; set; }
  25. protected override void Reload(Filters<QuoteProposal> criteria, Columns<QuoteProposal> columns, ref SortOrder<QuoteProposal> sort,
  26. Action<CoreTable, Exception> action)
  27. {
  28. criteria.Add(new Filter<QuoteProposal>(x => x.Quote.ID).IsEqualTo(Quote.ID));
  29. base.Reload(criteria, columns, ref sort, action);
  30. }
  31. protected override QuoteProposal CreateItem()
  32. {
  33. var result = base.CreateItem();
  34. result.Quote.ID = Quote.ID;
  35. result.Quote.Synchronise(Quote);
  36. return result;
  37. }
  38. }
  39. }