IAuthorizeParameters.cs 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. #region --------------- Copyright Dresser Wayne Pignone -------------
  2. /*
  3. * $Log: /Wrk/Support/ForecourtControl/Wrk/ForecourtControl/Com/IAuthorizeParameters.cs $
  4. *
  5. * 2 07-02-26 14:06 roger.månsson
  6. * Mark the Preset value as MarshalAs Currency
  7. *
  8. * 1 07-01-05 9:00 roger.månsson
  9. * Created
  10. */
  11. #endregion
  12. using System;
  13. using System.Runtime.InteropServices;
  14. namespace Wayne.ForecourtControl
  15. {
  16. /// <summary>
  17. /// The AuthorizeParameters is a data structure that contains the
  18. /// parameters that is used when authorizing a fuelling.
  19. /// </summary>
  20. [ComVisible(true)]
  21. public interface IAuthorizeParameters
  22. {
  23. /// <summary>
  24. /// Specifies if the PresetValue should be regarded as a volume or an amount.
  25. /// </summary>
  26. /// <see cref="PresetType"/>
  27. PresetType PresetType { get; set; }
  28. /// <summary>
  29. /// Maximum fuelling amount in domestic currency or volume.
  30. /// May be overridden by the configured maximum volume or
  31. /// amount in the pump controller. The lowest value will be used.
  32. /// </summary>
  33. decimal PresetValue
  34. {
  35. [return: MarshalAs(UnmanagedType.Currency)]
  36. get;
  37. [param: MarshalAs(UnmanagedType.Currency)]
  38. set;
  39. }
  40. /// <summary>
  41. /// Specifies the price group for the fuelling that should be used for the price calculation.
  42. /// </summary>
  43. int PriceGroup { get; set; }
  44. /// <summary>
  45. /// Fuel grades allowed to use for the fuelling are set to true.
  46. /// </summary>
  47. IAllowedFuelGrades AllowedFuelGrade { get; }
  48. /// <summary>
  49. /// Fuel grades maximum volumes authorized.
  50. /// </summary>
  51. IFuelGradeMaxVolumes FuelGradeMaxVolume { get; }
  52. /// <summary>
  53. /// The fuelling can only be reserved and set as paid by the releasing client if this
  54. /// property is set to true.
  55. /// </summary>
  56. bool LockToReleaseClient { get; set; }
  57. /// <summary>
  58. /// Prepay flag is true for bank note sale
  59. /// </summary>
  60. bool Prepay { get; set; }
  61. /// <summary>
  62. /// Specifies if operator consent is given
  63. /// </summary>
  64. bool ConsentGiven { get; set; }
  65. /// <summary>
  66. /// Specifies if treat zero sale as a valid transaction
  67. /// </summary>
  68. bool ProcessZeroSale { get; set; }
  69. /// <summary>
  70. /// True, customer has chance to Retried for auth/preset
  71. /// </summary>
  72. bool ApplyAuthPresetRetries { get; set; }
  73. /// <summary>
  74. /// Specifies receipt number where filling was paid (only for prepay)
  75. /// </summary>
  76. int PrepayReceiptNo { get; set; }
  77. /// <summary>
  78. /// Optional authorization id to use when authorizing the pump.
  79. /// Dependent on forecourt implementation this may or may not be used
  80. /// as authorization id for the authorization. No assumptions should be made that this
  81. /// id is used.
  82. /// </summary>
  83. int? AuthorizationId { get; set; }
  84. }
  85. }