AuthorizeParameters.cs 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237
  1. #region --------------- Copyright Dresser Wayne Pignone -------------
  2. /*
  3. * $Log: /Wrk/Support/ForecourtControl/Wrk/ForecourtControl/AuthorizeParameters.cs $
  4. *
  5. * 4 07-03-14 7:49 roger.månsson
  6. * Removed unnessecary empty public constuctor.
  7. *
  8. * 3 07-02-26 14:05 roger.månsson
  9. * Published for COM interop.
  10. *
  11. * 2 07-01-05 8:58 roger.månsson
  12. * Created an interface for COM
  13. */
  14. #endregion
  15. using System.Runtime.InteropServices;
  16. namespace Wayne.ForecourtControl
  17. {
  18. /// <summary>
  19. /// The AuthorizeParameters is a data structure that contains the
  20. /// parameters that is used when authorizing a fuelling.
  21. /// </summary>
  22. [ComVisible(true)]
  23. //[ComDefaultInterface(typeof(IAuthorizeParameters))]
  24. [ClassInterface(ClassInterfaceType.None)]
  25. public class AuthorizeParameters : Wayne.ForecourtControl.IAuthorizeParameters
  26. {
  27. public AuthorizeParameters()
  28. {
  29. this.processZeroSale = false;
  30. this.applyAuthPresetRetries = false;
  31. }
  32. #region Fields
  33. decimal presetValue;
  34. Wayne.ForecourtControl.PresetType presetType;
  35. Wayne.ForecourtControl.PriceGroup priceGroup;
  36. AllowedFuelGrades allowedFuelGrades = new AllowedFuelGrades();
  37. FuelGradeMaxVolumes fuelGradeMaxVolumes = new FuelGradeMaxVolumes();
  38. bool lockToReleaseClient;
  39. bool prepay;
  40. bool consentGiven;
  41. int prepayReceiptNo;
  42. bool applyAuthPresetRetries;
  43. bool processZeroSale;
  44. //FG, OCT-13-10, Add PayType to show outdoor payment type on FM
  45. string payType;
  46. #endregion
  47. #region Properties
  48. /// <summary>
  49. /// Maximum fuelling amount in domestic currency or volume.
  50. /// May be overridden by the configured maximum volume or
  51. /// amount in the pump controller. The lowest value will be used.
  52. /// </summary>
  53. public decimal PresetValue
  54. {
  55. get
  56. {
  57. return presetValue;
  58. }
  59. set
  60. {
  61. presetValue = value;
  62. }
  63. }
  64. /// <summary>
  65. /// Specifies if the PresetValue should be regarded as a volume or an amount.
  66. /// </summary>
  67. /// <see cref="PresetType"/>
  68. public Wayne.ForecourtControl.PresetType PresetType
  69. {
  70. get
  71. {
  72. return presetType;
  73. }
  74. set
  75. {
  76. presetType = value;
  77. }
  78. }
  79. /// <summary>
  80. /// Fuel grades allowed to use for the fuelling are set to true.
  81. /// </summary>
  82. public AllowedFuelGrades AllowedFuelGrade
  83. {
  84. get
  85. {
  86. return allowedFuelGrades;
  87. }
  88. }
  89. /// <summary>
  90. /// Fuel grades maximum volumes authorized.
  91. /// </summary>
  92. public FuelGradeMaxVolumes FuelGradeMaxVolume
  93. {
  94. get
  95. {
  96. return fuelGradeMaxVolumes;
  97. }
  98. }
  99. /// <summary>
  100. /// Specifies the price group that should be used for the price calculation.
  101. /// </summary>
  102. public int PriceGroup
  103. {
  104. get
  105. {
  106. return priceGroup;
  107. }
  108. set
  109. {
  110. priceGroup = value;
  111. }
  112. }
  113. /// <summary>
  114. /// The fuelling can only be reserved and set as paid by the releasing client if this
  115. /// property is set to true.
  116. /// </summary>
  117. public bool LockToReleaseClient
  118. {
  119. get
  120. {
  121. return lockToReleaseClient;
  122. }
  123. set
  124. {
  125. lockToReleaseClient = value;
  126. }
  127. }
  128. /// <summary>
  129. /// Prepay flag is true for bank note sale
  130. /// </summary>
  131. public bool Prepay
  132. {
  133. get
  134. {
  135. return prepay;
  136. }
  137. set
  138. {
  139. prepay = value;
  140. }
  141. }
  142. /// <summary>
  143. /// Specifies if operator consent is given
  144. /// </summary>
  145. public bool ConsentGiven
  146. {
  147. get
  148. {
  149. return consentGiven;
  150. }
  151. set
  152. {
  153. consentGiven = value;
  154. }
  155. }
  156. public int PrepayReceiptNo
  157. {
  158. get
  159. {
  160. return prepayReceiptNo;
  161. }
  162. set
  163. {
  164. prepayReceiptNo = value;
  165. }
  166. }
  167. public int? AuthorizationId { get; set; }
  168. //FG, OCT-13-10, Add PayType to show outdoor payment type on FM
  169. /// <summary>
  170. /// Payment type: e.g. "ST" for speedpass tag; "FC" for fleet card; "PC" for payment card;
  171. /// </summary>
  172. public string PayType
  173. {
  174. get
  175. {
  176. return payType;
  177. }
  178. set
  179. {
  180. payType = value;
  181. }
  182. }
  183. /// <summary>
  184. /// Treat zero sale as a transaction if set it to true
  185. /// Default value is false
  186. /// </summary>
  187. public bool ProcessZeroSale
  188. {
  189. get { return processZeroSale; }
  190. set { processZeroSale = value; }
  191. }
  192. /// <summary>
  193. /// True, customer has chance to Retried for auth/preset
  194. /// Default value is false
  195. /// </summary>
  196. public bool ApplyAuthPresetRetries
  197. {
  198. get { return applyAuthPresetRetries; }
  199. set { applyAuthPresetRetries = value; }
  200. }
  201. #endregion
  202. #region IAuthorizeParameters Members
  203. IAllowedFuelGrades IAuthorizeParameters.AllowedFuelGrade
  204. {
  205. get { return allowedFuelGrades as IAllowedFuelGrades; }
  206. }
  207. IFuelGradeMaxVolumes IAuthorizeParameters.FuelGradeMaxVolume
  208. {
  209. get { return fuelGradeMaxVolumes as IFuelGradeMaxVolumes; }
  210. }
  211. #endregion
  212. }
  213. }