IFuelPrice.cs 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. #region --------------- Copyright Dresser Wayne Pignone -------------
  2. /*
  3. * $Log: /Wrk/Support/ForecourtControl/Wrk/ForecourtControl/IFuelPrice.cs $
  4. *
  5. * 4 07-06-26 9:18 roger.månsson
  6. *
  7. * 3 07-01-05 8:59 roger.månsson
  8. * Renamed GeneralPriceChange -> GeneralPriceDelta and AddPrices ->
  9. * PriceGroupDelta
  10. */
  11. #endregion
  12. using System.Runtime.InteropServices;
  13. namespace Wayne.ForecourtControl
  14. {
  15. /// <summary>
  16. /// The fuel price represents the prices for one Fuel grade for the whole Forecourt. The prices
  17. /// are read
  18. /// Total fuel price for a fuelling is calculated as <c>FuelPrice.BasePrice + FuelPrice.GeneralPriceChange + FuelPrice.AddPrices[ current price group]</c>
  19. /// </summary>
  20. [System.Runtime.InteropServices.ComVisible(true)]
  21. public interface IFuelPrice
  22. {
  23. /// <summary>
  24. /// The Fuel grade that this fuel price represents.
  25. /// </summary>
  26. int FuelGrade { get; }
  27. /// <summary>
  28. /// Indicates if the Fuel price is reserved, and thus writable.
  29. /// </summary>
  30. bool Reserved { get; }
  31. /// <summary>
  32. /// Base price of the fuel grade
  33. /// </summary>
  34. decimal BasePrice
  35. {
  36. get;
  37. set;
  38. }
  39. /// <summary>
  40. /// Base price of the fuel grade as currency in COM.
  41. /// </summary>
  42. decimal BasePriceAsCurrency
  43. {
  44. [return: MarshalAs(UnmanagedType.Currency)]
  45. get;
  46. [param: MarshalAs(UnmanagedType.Currency)]
  47. set;
  48. }
  49. /// <summary>
  50. /// A general price deviation from the base price that is used for all PriceGroups.
  51. /// </summary>
  52. decimal GeneralPriceDelta
  53. {
  54. get;
  55. set;
  56. }
  57. /// <summary>
  58. /// A general price deviation from the base price that is used for all PriceGroups.
  59. /// </summary>
  60. decimal GeneralPriceDeltaAsCurrency
  61. {
  62. [return: MarshalAs(UnmanagedType.Currency)]
  63. get;
  64. [param: MarshalAs(UnmanagedType.Currency)]
  65. set;
  66. }
  67. /// <summary>
  68. /// The Price deviation from the
  69. /// </summary>
  70. IFuelPriceAddPricePerPriceGroup PriceGroupDelta { get; }
  71. /// <summary>
  72. /// Validates the price setup against the min/max prices.
  73. /// </summary>
  74. /// <returns></returns>
  75. bool Validate();
  76. }
  77. }