QuoteProposalCostSheetGrid.cs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. using System;
  2. using Comal.Classes;
  3. using InABox.Core;
  4. using InABox.DynamicGrid;
  5. namespace PRSDesktop
  6. {
  7. public class QuoteProposalCostSheetGrid : DynamicDataGrid<QuoteProposalCostSheet>
  8. {
  9. private Guid _proposalid;
  10. public QuoteProposalCostSheetGrid()
  11. {
  12. Options.AddRange(DynamicGridOption.RecordCount, DynamicGridOption.SelectColumns);
  13. HiddenColumns.Add(x => x.Proposal.ID);
  14. HiddenColumns.Add(x => x.Proposal.Quote.ID);
  15. }
  16. public Guid ProposalID
  17. {
  18. get => _proposalid;
  19. set
  20. {
  21. _proposalid = value;
  22. Refresh(false, true);
  23. }
  24. }
  25. public Guid QuoteID { get; set; }
  26. protected override void Reload(Filters<QuoteProposalCostSheet> criteria, Columns<QuoteProposalCostSheet> columns,
  27. ref SortOrder<QuoteProposalCostSheet> sort, Action<CoreTable, Exception> action)
  28. {
  29. criteria.Add(new Filter<QuoteProposalCostSheet>(x => x.Proposal.ID).IsEqualTo(_proposalid));
  30. base.Reload(criteria, columns, ref sort, action);
  31. }
  32. protected override QuoteProposalCostSheet CreateItem()
  33. {
  34. var result = base.CreateItem();
  35. result.Proposal.ID = _proposalid;
  36. result.Proposal.Quote.ID = QuoteID;
  37. return result;
  38. }
  39. }
  40. }