ConfigurationInterface.cs 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801
  1. using System;
  2. using System.Collections.Generic;
  3. //using System.Linq;
  4. using System.Threading;
  5. using System.Reflection;
  6. using System.Runtime.InteropServices;
  7. using System.Net;
  8. using System.Net.Sockets;
  9. using System.Diagnostics;
  10. using Wayne.FDCPOSLibrary;
  11. using Wayne.OptInterface;
  12. using Microsoft.Extensions.Logging;
  13. namespace Wayne.FDCPOSInterface.Configuration
  14. {
  15. [InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]
  16. public interface IConfigurationInterface
  17. {
  18. //[DispId(1)]
  19. //void Start(int iIPPortConfig, bool encryptedHeader, string forecourtConfiguration, int version, bool useExtensions, string certificate);
  20. [DispId(2)]
  21. void Test();
  22. //[DispId(1)]
  23. //void ConfigStartResponse(bool accepted, int errorCode);
  24. //[DispId(2)]
  25. //void ConfigEndResponse(bool accepted, int errorCode);
  26. //[DispId(3)]
  27. //void AddGradeResponse(bool accepted, int errorCode);
  28. //[DispId(4)]
  29. //void AddAssignGradeParResponse(bool accepted, int errorCode);
  30. //[DispId(5)]
  31. //void AddTankResponse(bool accepted, int errorCode);
  32. //[DispId(6)]
  33. //void AddFuelModeResponse(bool accepted, int errorCode);
  34. //[DispId(7)]
  35. //void SetFuellingModesResponse(bool accepted, int errorCode);
  36. //[DispId(8)]
  37. //void AddFuelPointResponse(bool accepted, int errorCode);
  38. //[DispId(9)]
  39. //void AssignGradeResponse(bool accepted, int errorCode);
  40. //[DispId(10)]
  41. //void AssignMeterResponse(bool accepted, int errorCode);
  42. //[DispId(11)]
  43. //void AssignTanksResponse(bool accepted, int errorCode);
  44. //[DispId(12)]
  45. //void DefPricePoleResponse(bool accepted, int errorCode);
  46. //[DispId(13)]
  47. //void LoadPricesetResponse(bool accepted, int errorCode);
  48. }
  49. [InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]
  50. [Guid("BF929A3C-BBD4-4b85-8FB9-400BADCE4BDB")]
  51. public interface IConfigurationInterfaceEvents
  52. {
  53. [DispId(1)]
  54. int OnConfigStart();
  55. [DispId(2)]
  56. int OnConfigEnd();
  57. [DispId(3)]
  58. int OnAddGrade(int id);
  59. [DispId(4)]
  60. int OnAddGradeEnd();
  61. [DispId(5)]
  62. int OnAddAssignGradePar(int id, string name);
  63. [DispId(6)]
  64. int OnAddAssignGradeParsEnd();
  65. [DispId(7)]
  66. int OnAddTank(int id);
  67. [DispId(8)]
  68. int OnAddTanksEnd();
  69. [DispId(9)]
  70. int OnAddFuelMode(int id, string name, int authType, int maxAuthTime, int nozzleLayDownTime, int minGuardTime, int paymentType, double minVolume, double minMoney, int SupTransBufSize);
  71. [DispId(10)]
  72. int OnAddFuelModeEnd();
  73. [DispId(11)]
  74. int OnSetFuellingModes(int fuellingType, double maxVolume, double maxMoney, int maxFuellingTime, int maxTimeNoProgress, int maxTimeToMinLimit, int presetOverrunLimit);
  75. [DispId(12)]
  76. int OnAddFuelPoint(int id, int pumpType, int comChannelId, string IPAddress, int IPPort, int physicalAddress, int internalAddress);
  77. [DispId(13)]
  78. int OnAddNozzle(int pumpId, int nozzleId);
  79. [DispId(14)]
  80. int OnAddFuelPointsEnd();
  81. [DispId(15)]
  82. int OnAssignGrade(int pumpId, int nozzleId, int gradeId);
  83. [DispId(16)]
  84. int OnAssignGradesEnd();
  85. [DispId(17)]
  86. int OnAssignMeter(int pumpId, int gradeId, int meterId, int part);
  87. [DispId(18)]
  88. int OnAssignMetersEnd();
  89. [DispId(19)]
  90. int OnAssignTank(int pumpId, int meterId, int tankId);
  91. [DispId(20)]
  92. int OnAssignTanksEnd();
  93. [DispId(21)]
  94. int OnAddPricePole(int id, int type, int physicalAddress, int COMPort);
  95. [DispId(22)]
  96. int OnAddPricePoleRow(int id, int gradeId, int fuelMode, int position);
  97. [DispId(23)]
  98. int OnAddPricePoleEnd();
  99. [DispId(24)]
  100. int OnLoadPriceset(int id, int gradeId, double price);
  101. [DispId(25)]
  102. int OnLoadPricesetEnd();
  103. }
  104. [Guid("818DBBB1-0A4E-49b9-BE0D-269F5F14D759")]
  105. [ClassInterface(ClassInterfaceType.None)]
  106. [ComVisible(true)]
  107. [ProgId("Configuration.ConfigurationInterface")]
  108. [ComSourceInterfaces(typeof(IConfigurationInterfaceEvents))]
  109. public class ConfigurationInterface : IConfigurationInterface
  110. {
  111. private ILogger logger;
  112. [ComVisible(false)]
  113. public ConfigurationMessages messages;
  114. [ComVisible(false)]
  115. FDCPOSConfigurationManager fdcposManager;
  116. //public static IConfigurationInterface CreateConfigurationInterface()
  117. //{
  118. // return new ConfigurationInterface();
  119. //}
  120. // Remember! the constructor cannot have parameters when called from COM CreateInstance
  121. public ConfigurationInterface(ILogger logger)
  122. {
  123. //FDCPOSManager.tracer.WriteLine("init");
  124. this.logger = logger;
  125. if (FDCPOSConfigurationManager.fdcposManager == null)
  126. FDCPOSConfigurationManager.fdcposManager = new FDCPOSConfigurationManager();
  127. FDCPOSConfigurationManager.fdcposManager.configurationInterface = this;
  128. fdcposManager = FDCPOSConfigurationManager.fdcposManager;
  129. messages = new ConfigurationMessages(fdcposManager, this.logger);
  130. //TODO tcpClientList = new Dictionary<string, FDCPOSClient>();
  131. //FDCPOSManager.tracer.WriteLine("end");
  132. }
  133. public void Disconnect(string workstationID, string applicationSender)
  134. {
  135. //if (fdcposInterface.OnClientDisconnected != null)
  136. // fdcposInterface.OnClientDisconnected(tcpClientList[fdcposClient.sID].workstationID, tcpClientList[fdcposClient.sID].applicationSender);
  137. }
  138. public delegate int OnConfigStartTarget();
  139. public delegate int OnConfigEndTarget();
  140. public delegate int OnAddGradeTarget(int id);
  141. public delegate int OnAddGradeEndTarget();
  142. public delegate int OnAddAssignGradeParTarget(int id, string name);
  143. public delegate int OnAddAssignGradeParsEndTarget();
  144. public delegate int OnAddTankTarget(int id);
  145. public delegate int OnAddTanksEndTarget();
  146. public delegate int OnAddFuelModeTarget(int id, string name, int authType, int maxAuthTime, int nozzleLayDownTime, int minGuardTime, int paymentType, double minVolume, double minMoney, int SupTransBufSize);
  147. public delegate int OnAddFuelModeEndTarget();
  148. public delegate int OnSetFuellingModesTarget(int fuellingType, double maxVolume, double maxMoney, int maxFuellingTime, int maxTimeNoProgress, int maxTimeToMinLimit, int presetOverrunLimit);
  149. public delegate int OnAddFuelPointTarget(int id, int pumpType, int comChannelId, string IPAddress, int IPPort, int physicalAddress, int internalAddress);
  150. public delegate int OnAddNozzleTarget(int pumpId, int nozzleId);
  151. public delegate int OnAddFuelPointsEndTarget();
  152. public delegate int OnAssignGradeTarget(int pumpId, int nozzleId, int gradeId);
  153. public delegate int OnAssignGradesEndTarget();
  154. public delegate int OnAssignMeterTarget(int pumpId, int gradeId, int meterId, int part);
  155. public delegate int OnAssignMetersEndTarget();
  156. public delegate int OnAssignTankTarget(int pumpId, int meterId, int tankId);
  157. public delegate int OnAssignTanksEndTarget();
  158. public delegate int OnAddPricePoleTarget(int id, int type, int physicalAddress, int COMPort);
  159. public delegate int OnAddPricePoleRowTarget(int id, int gradeId, int fuelMode, int position);
  160. public delegate int OnAddPricePoleEndTarget();
  161. public delegate int OnLoadPricesetTarget(int id, int gradeId, double price);
  162. public delegate int OnLoadPricesetEndTarget();
  163. public event OnConfigStartTarget OnConfigStart;
  164. public event OnConfigEndTarget OnConfigEnd;
  165. public event OnAddGradeTarget OnAddGrade;
  166. public event OnAddGradeEndTarget OnAddGradeEnd;
  167. public event OnAddAssignGradeParTarget OnAddAssignGradePar;
  168. public event OnAddAssignGradeParsEndTarget OnAddAssignGradeParsEnd;
  169. public event OnAddTankTarget OnAddTank;
  170. public event OnAddTanksEndTarget OnAddTanksEnd;
  171. public event OnAddFuelModeTarget OnAddFuelMode;
  172. public event OnAddFuelModeEndTarget OnAddFuelModeEnd;
  173. public event OnSetFuellingModesTarget OnSetFuellingModes;
  174. public event OnAddFuelPointTarget OnAddFuelPoint;
  175. public event OnAddNozzleTarget OnAddNozzle;
  176. public event OnAddFuelPointsEndTarget OnAddFuelPointsEnd;
  177. public event OnAssignGradeTarget OnAssignGrade;
  178. public event OnAssignGradesEndTarget OnAssignGradesEnd;
  179. public event OnAssignMeterTarget OnAssignMeter;
  180. public event OnAssignMetersEndTarget OnAssignMetersEnd;
  181. public event OnAssignTankTarget OnAssignTank;
  182. public event OnAssignTanksEndTarget OnAssignTanksEnd;
  183. public event OnAddPricePoleTarget OnAddPricePole;
  184. public event OnAddPricePoleRowTarget OnAddPricePoleRow;
  185. public event OnAddPricePoleEndTarget OnAddPricePoleEnd;
  186. public event OnLoadPricesetTarget OnLoadPriceset;
  187. public event OnLoadPricesetEndTarget OnLoadPricesetEnd;
  188. //public void Start(int iIPPortConfig, bool encryptedHeader, string forecourtConfiguration, int version, bool useExtensions, string certificate)
  189. //{
  190. // //FDCPOSManager.tracer.WriteLine(string.Format("init: port={0}, encryptedHeader={1}, version={2}, extension={3}, certificate={4}", iIPPortConfig, encryptedHeader, version, useExtensions, certificate));
  191. // messages.Start(iIPPortConfig, encryptedHeader, forecourtConfiguration, version, useExtensions, certificate);
  192. // //FDCPOSManager.tracer.WriteLine("end");
  193. //}
  194. public void Test()
  195. {
  196. // TEMP init
  197. if (this.OnConfigStart != null)
  198. {
  199. //string sValue = IniFile.IniReadValue(SINPConfigurazione.IniPath + "ForecourtServer.ini", "Test", "Operation");
  200. //if (sValue == "Test1")
  201. //{
  202. // //FDCPOSManager.tracer.WriteLine("calling testConfig1");
  203. // testConfig1();
  204. // //FDCPOSManager.tracer.WriteLine("called testConfig1");
  205. //}
  206. //else if (sValue == "Test2")
  207. //{
  208. // //FDCPOSManager.tracer.WriteLine("calling testConfig2");
  209. // testConfig2();
  210. // //FDCPOSManager.tracer.WriteLine("called testConfig2");
  211. //}
  212. //else if (sValue == "Test3")
  213. //{
  214. // //FDCPOSManager.tracer.WriteLine("calling testConfig3");
  215. // testConfig3();
  216. // //FDCPOSManager.tracer.WriteLine("called testConfig3");
  217. //}
  218. }
  219. // TEMP end
  220. }
  221. void testConfig1()
  222. {
  223. this.OnConfigStart();
  224. this.OnAddGrade(1);
  225. this.OnAddGrade(2);
  226. this.OnAddGrade(3);
  227. this.OnAddGradeEnd();
  228. this.OnAddAssignGradePar(1, ("BLUDIESEL"));
  229. this.OnAddAssignGradePar(2, ("GASOLIO"));
  230. this.OnAddAssignGradePar(3, ("SUPERSP"));
  231. this.OnAddAssignGradeParsEnd();
  232. this.OnAddTank(1);
  233. this.OnAddTank(2);
  234. this.OnAddTank(3);
  235. this.OnAddTanksEnd();
  236. this.OnAddFuelPoint(1, 1/*FDC_PUMP_NUOVOPIGNONE_CL1*/, 6, "", 0, 1, 1);
  237. this.OnAddFuelPoint(2, 2/*FDC_PUMP_NUOVOPIGNONE_CL2*/, 7, "", 0, 1, 1);
  238. this.OnAddNozzle(1, 1);
  239. this.OnAddNozzle(1, 2);
  240. this.OnAddNozzle(1, 3);
  241. this.OnAddNozzle(2, 1);
  242. this.OnAddNozzle(2, 2);
  243. this.OnAddFuelPointsEnd();
  244. this.OnAssignGrade(1, 1, 1);
  245. this.OnAssignGrade(1, 2, 2);
  246. this.OnAssignGrade(1, 3, 3);
  247. this.OnAssignGrade(2, 1, 1);
  248. this.OnAssignGrade(2, 2, 2);
  249. this.OnAssignGradesEnd();
  250. this.OnAssignMeter(1, 1, 1, 0);
  251. this.OnAssignMeter(1, 2, 2, 0);
  252. this.OnAssignMeter(1, 3, 3, 0);
  253. this.OnAssignMeter(2, 1, 1, 0);
  254. this.OnAssignMeter(2, 2, 2, 0);
  255. this.OnAssignMetersEnd();
  256. this.OnAssignTank(1, 1, 1);
  257. this.OnAssignTank(1, 2, 2);
  258. this.OnAssignTank(1, 3, 3);
  259. this.OnAssignTank(2, 1, 1);
  260. this.OnAssignTank(2, 2, 2);
  261. this.OnAssignTanksEnd();
  262. this.OnConfigEnd();
  263. }
  264. void testConfig2()
  265. {
  266. this.OnConfigStart();
  267. this.OnAddGrade(1);
  268. this.OnAddGrade(2);
  269. this.OnAddGrade(3);
  270. this.OnAddGrade(4);
  271. this.OnAddGradeEnd();
  272. this.OnAddAssignGradePar(1, ("BLUDIESEL"));
  273. this.OnAddAssignGradePar(2, ("GASOLIO"));
  274. this.OnAddAssignGradePar(3, ("SUPERSP"));
  275. this.OnAddAssignGradePar(4, ("GPL"));
  276. this.OnAddAssignGradeParsEnd();
  277. this.OnAddTank(1);
  278. this.OnAddTank(2);
  279. this.OnAddTank(3);
  280. this.OnAddTank(4);
  281. this.OnAddTanksEnd();
  282. this.OnAddFuelPoint(1, 99/*FDC_PUMP_BOGUS*/, 6, "", 0, 1, 1);
  283. this.OnAddFuelPoint(2, 99/*FDC_PUMP_BOGUS*/, 7, "", 0, 2, 2);
  284. this.OnAddFuelPoint(3, 99/*FDC_PUMP_BOGUS*/, 8, "", 0, 3, 3);
  285. this.OnAddFuelPoint(4, 99/*FDC_PUMP_BOGUS*/, 9, "", 0, 4, 4);
  286. this.OnAddNozzle(1, 1);
  287. this.OnAddNozzle(1, 2);
  288. this.OnAddNozzle(1, 3);
  289. this.OnAddNozzle(2, 1);
  290. this.OnAddNozzle(2, 2);
  291. this.OnAddNozzle(2, 3);
  292. this.OnAddNozzle(3, 1);
  293. this.OnAddNozzle(3, 2);
  294. this.OnAddNozzle(3, 3);
  295. this.OnAddNozzle(4, 1);
  296. this.OnAddFuelPointsEnd();
  297. this.OnAssignGrade(1, 1, 1);
  298. this.OnAssignGrade(1, 2, 2);
  299. this.OnAssignGrade(1, 3, 3);
  300. this.OnAssignGrade(2, 1, 1);
  301. this.OnAssignGrade(2, 2, 2);
  302. this.OnAssignGrade(2, 3, 3);
  303. this.OnAssignGrade(3, 1, 1);
  304. this.OnAssignGrade(3, 2, 2);
  305. this.OnAssignGrade(3, 3, 3);
  306. this.OnAssignGrade(4, 1, 4);
  307. this.OnAssignGradesEnd();
  308. this.OnAssignMeter(1, 1, 1, 0);
  309. this.OnAssignMeter(1, 2, 2, 0);
  310. this.OnAssignMeter(1, 3, 3, 0);
  311. this.OnAssignMeter(2, 1, 1, 0);
  312. this.OnAssignMeter(2, 2, 2, 0);
  313. this.OnAssignMeter(2, 3, 3, 0);
  314. this.OnAssignMeter(3, 1, 1, 0);
  315. this.OnAssignMeter(3, 2, 2, 0);
  316. this.OnAssignMeter(3, 3, 3, 0);
  317. this.OnAssignMeter(4, 4, 4, 0);
  318. this.OnAssignMetersEnd();
  319. this.OnAssignTank(1, 1, 1);
  320. this.OnAssignTank(1, 2, 2);
  321. this.OnAssignTank(1, 3, 3);
  322. this.OnAssignTank(2, 1, 1);
  323. this.OnAssignTank(2, 2, 2);
  324. this.OnAssignTank(2, 3, 3);
  325. this.OnAssignTank(3, 1, 1);
  326. this.OnAssignTank(3, 2, 2);
  327. this.OnAssignTank(3, 3, 3);
  328. this.OnAssignTank(4, 4, 4);
  329. this.OnAssignTanksEnd();
  330. this.OnConfigEnd();
  331. }
  332. void testConfig3()
  333. {
  334. this.OnConfigStart();
  335. this.OnAddGrade(1);
  336. this.OnAddGrade(2);
  337. this.OnAddGrade(3);
  338. this.OnAddGradeEnd();
  339. this.OnAddAssignGradePar(1, ("BLUDIESEL"));
  340. this.OnAddAssignGradePar(2, ("GASOLIO"));
  341. this.OnAddAssignGradePar(3, ("SUPERSP"));
  342. this.OnAddAssignGradeParsEnd();
  343. this.OnAddTank(1);
  344. this.OnAddTank(2);
  345. this.OnAddTank(3);
  346. this.OnAddTanksEnd();
  347. this.OnAddFuelPoint(1, 99/*FDC_PUMP_BOGUS*/, 6, "", 0, 1, 1);
  348. this.OnAddFuelPoint(2, 99/*FDC_PUMP_BOGUS*/, 7, "", 0, 2, 2);
  349. this.OnAddNozzle(1, 1);
  350. this.OnAddNozzle(1, 2);
  351. this.OnAddNozzle(1, 3);
  352. this.OnAddNozzle(2, 1);
  353. this.OnAddNozzle(2, 2);
  354. this.OnAddNozzle(2, 3);
  355. this.OnAddFuelPointsEnd();
  356. this.OnAssignGrade(1, 1, 1);
  357. this.OnAssignGrade(1, 2, 2);
  358. this.OnAssignGrade(1, 3, 3);
  359. this.OnAssignGrade(2, 1, 1);
  360. this.OnAssignGrade(2, 2, 2);
  361. this.OnAssignGrade(2, 3, 3);
  362. this.OnAssignGradesEnd();
  363. this.OnAssignMeter(1, 1, 1, 0);
  364. this.OnAssignMeter(1, 2, 2, 0);
  365. this.OnAssignMeter(1, 3, 3, 0);
  366. this.OnAssignMeter(2, 1, 1, 0);
  367. this.OnAssignMeter(2, 2, 2, 0);
  368. this.OnAssignMeter(2, 3, 3, 0);
  369. this.OnAssignMetersEnd();
  370. this.OnAssignTank(1, 1, 1);
  371. this.OnAssignTank(1, 2, 2);
  372. this.OnAssignTank(1, 3, 3);
  373. this.OnAssignTank(2, 1, 1);
  374. this.OnAssignTank(2, 2, 2);
  375. this.OnAssignTank(2, 3, 3);
  376. this.OnAssignTanksEnd();
  377. this.OnConfigEnd();
  378. }
  379. #region Requests
  380. public int ConfigStart()
  381. {
  382. int result = (int)ErrorCode.ERRCD_OK;
  383. //FDCPOSManager.tracer.WriteLine("ConfigStart init");
  384. if (OnConfigStart != null)
  385. {
  386. result = OnConfigStart();
  387. }
  388. else
  389. result = (int)ErrorCode.ERRCD_CTRLERR;
  390. //FDCPOSManager.tracer.WriteLine(string.Format("ConfigStart end: return result={0}", result));
  391. return result;
  392. }
  393. public int ConfigEnd()
  394. {
  395. int result = (int)ErrorCode.ERRCD_OK;
  396. //FDCPOSManager.tracer.WriteLine("ConfigEnd init");
  397. if (OnConfigEnd != null)
  398. {
  399. result = OnConfigEnd();
  400. }
  401. else
  402. result = (int)ErrorCode.ERRCD_CTRLERR;
  403. //FDCPOSManager.tracer.WriteLine(string.Format("ConfigEnd end: return result={0}", result));
  404. return result;
  405. }
  406. public int AddGrade(int id)
  407. {
  408. int result = (int)ErrorCode.ERRCD_OK;
  409. //FDCPOSManager.tracer.WriteLine("init");
  410. if (OnAddGrade != null)
  411. {
  412. result = OnAddGrade(id);
  413. }
  414. else
  415. result = (int)ErrorCode.ERRCD_CTRLERR;
  416. //FDCPOSManager.tracer.WriteLine(string.Format("AddGrade end: return result={0}", result));
  417. return result;
  418. }
  419. public int AddGradeEnd()
  420. {
  421. int result = (int)ErrorCode.ERRCD_OK;
  422. //FDCPOSManager.tracer.WriteLine("init");
  423. if (OnAddGradeEnd != null)
  424. {
  425. result = OnAddGradeEnd();
  426. }
  427. else
  428. result = (int)ErrorCode.ERRCD_CTRLERR;
  429. //FDCPOSManager.tracer.WriteLine(string.Format("AddGradeEnd end: return result={0}", result));
  430. return result;
  431. }
  432. public int AddAssignGradePar(int id, string name)
  433. {
  434. int result = (int)ErrorCode.ERRCD_OK;
  435. //FDCPOSManager.tracer.WriteLine("init");
  436. if (OnAddAssignGradePar != null)
  437. {
  438. result = OnAddAssignGradePar(id, name);
  439. }
  440. else
  441. result = (int)ErrorCode.ERRCD_CTRLERR;
  442. //FDCPOSManager.tracer.WriteLine(string.Format("AddAssignGradePar end: return result={0}", result));
  443. return result;
  444. }
  445. public int AddAssignGradeParsEnd()
  446. {
  447. int result = (int)ErrorCode.ERRCD_OK;
  448. //FDCPOSManager.tracer.WriteLine("init");
  449. if (OnAddAssignGradeParsEnd != null)
  450. {
  451. result = OnAddAssignGradeParsEnd();
  452. }
  453. else
  454. result = (int)ErrorCode.ERRCD_CTRLERR;
  455. //FDCPOSManager.tracer.WriteLine(string.Format("AddAssignGradeParsEnd end: return result={0}", result));
  456. return result;
  457. }
  458. public int AddTank(int id)
  459. {
  460. int result = (int)ErrorCode.ERRCD_OK;
  461. //FDCPOSManager.tracer.WriteLine("init");
  462. if (OnAddTank != null)
  463. {
  464. result = OnAddTank(id);
  465. }
  466. else
  467. result = (int)ErrorCode.ERRCD_CTRLERR;
  468. //FDCPOSManager.tracer.WriteLine(string.Format("AddTank end: return result={0}", result));
  469. return result;
  470. }
  471. public int AddTanksEnd()
  472. {
  473. int result = (int)ErrorCode.ERRCD_OK;
  474. //FDCPOSManager.tracer.WriteLine("init");
  475. if (OnAddTanksEnd != null)
  476. {
  477. result = OnAddTanksEnd();
  478. }
  479. else
  480. result = (int)ErrorCode.ERRCD_CTRLERR;
  481. //FDCPOSManager.tracer.WriteLine(string.Format("AddTanksEnd end: return result={0}", result));
  482. return result;
  483. }
  484. public int AddFuelMode(int id, string name, int authType, int maxAuthTime, int nozzleLayDownTime, int minGuardTime, int paymentType, double minVolume, double minMoney, int SupTransBufSize)
  485. {
  486. int result = (int)ErrorCode.ERRCD_OK;
  487. //FDCPOSManager.tracer.WriteLine("init");
  488. if (OnAddFuelMode != null)
  489. {
  490. result = OnAddFuelMode(id, name, authType, maxAuthTime, nozzleLayDownTime, minGuardTime, paymentType, minVolume, minMoney, SupTransBufSize);
  491. }
  492. else
  493. result = (int)ErrorCode.ERRCD_CTRLERR;
  494. //FDCPOSManager.tracer.WriteLine(string.Format("AddFuelMode end: return result={0}", result));
  495. return result;
  496. }
  497. public int AddFuelModeEnd()
  498. {
  499. int result = (int)ErrorCode.ERRCD_OK;
  500. //FDCPOSManager.tracer.WriteLine("init");
  501. if (OnAddFuelModeEnd != null)
  502. {
  503. result = OnAddFuelModeEnd();
  504. }
  505. else
  506. result = (int)ErrorCode.ERRCD_CTRLERR;
  507. //FDCPOSManager.tracer.WriteLine(string.Format("AddFuelModeEnd end: return result={0}", result));
  508. return result;
  509. }
  510. public int SetFuellingModes(int fuellingType, double maxVolume, double maxMoney, int maxFuellingTime, int maxTimeNoProgress, int maxTimeToMinLimit, int presetOverrunLimit)
  511. {
  512. int result = (int)ErrorCode.ERRCD_OK;
  513. //FDCPOSManager.tracer.WriteLine("init");
  514. if (OnSetFuellingModes != null)
  515. {
  516. result = OnSetFuellingModes(fuellingType, maxVolume, maxMoney, maxFuellingTime, maxTimeNoProgress, maxTimeToMinLimit, presetOverrunLimit);
  517. }
  518. else
  519. result = (int)ErrorCode.ERRCD_CTRLERR;
  520. //FDCPOSManager.tracer.WriteLine(string.Format("SetFuellingModes end: return result={0}", result));
  521. return result;
  522. }
  523. public int AddFuelPoint(int id, int pumpType, int comChannelId, string IPAddress, int IPPort, int physicalAddress, int internalAddress)
  524. {
  525. int result = (int)ErrorCode.ERRCD_OK;
  526. //FDCPOSManager.tracer.WriteLine("init");
  527. if (OnAddFuelPoint != null)
  528. {
  529. result = OnAddFuelPoint(id, pumpType, comChannelId, IPAddress, IPPort, physicalAddress, internalAddress);
  530. }
  531. else
  532. result = (int)ErrorCode.ERRCD_CTRLERR;
  533. //FDCPOSManager.tracer.WriteLine(string.Format("AddFuelPoint end: return result={0}", result));
  534. return result;
  535. }
  536. public int AddNozzle(int pumpId, int nozzleId)
  537. {
  538. int result = (int)ErrorCode.ERRCD_OK;
  539. //FDCPOSManager.tracer.WriteLine("init");
  540. if (OnAddNozzle != null)
  541. {
  542. result = OnAddNozzle(pumpId, nozzleId);
  543. }
  544. else
  545. result = (int)ErrorCode.ERRCD_CTRLERR;
  546. //FDCPOSManager.tracer.WriteLine(string.Format("AddNozzle end: return result={0}", result));
  547. return result;
  548. }
  549. public int AddFuelPointsEnd()
  550. {
  551. int result = (int)ErrorCode.ERRCD_OK;
  552. //FDCPOSManager.tracer.WriteLine("init");
  553. if (OnAddFuelPointsEnd != null)
  554. {
  555. result = OnAddFuelPointsEnd();
  556. }
  557. else
  558. result = (int)ErrorCode.ERRCD_CTRLERR;
  559. //FDCPOSManager.tracer.WriteLine(string.Format("AddFuelPointsEnd end: return result={0}", result));
  560. return result;
  561. }
  562. public int AssignGrade(int pumpId, int nozzleId, int gradeId)
  563. {
  564. int result = (int)ErrorCode.ERRCD_OK;
  565. //FDCPOSManager.tracer.WriteLine("init");
  566. if (OnAssignGrade != null)
  567. {
  568. result = OnAssignGrade(pumpId, nozzleId, gradeId);
  569. }
  570. else
  571. result = (int)ErrorCode.ERRCD_CTRLERR;
  572. //FDCPOSManager.tracer.WriteLine(string.Format("AssignGrade end: return result={0}", result));
  573. return result;
  574. }
  575. public int AssignGradesEnd()
  576. {
  577. int result = (int)ErrorCode.ERRCD_OK;
  578. //FDCPOSManager.tracer.WriteLine("init");
  579. if (OnAssignGradesEnd != null)
  580. {
  581. result = OnAssignGradesEnd();
  582. }
  583. else
  584. result = (int)ErrorCode.ERRCD_CTRLERR;
  585. //FDCPOSManager.tracer.WriteLine(string.Format("AssignGradesEnd end: return result={0}", result));
  586. return result;
  587. }
  588. public int AssignMeter(int pumpId, int gradeId, int meterId, int part)
  589. {
  590. int result = (int)ErrorCode.ERRCD_OK;
  591. //FDCPOSManager.tracer.WriteLine("init");
  592. if (OnAssignMeter != null)
  593. {
  594. result = OnAssignMeter(pumpId, gradeId, meterId, part);
  595. }
  596. else
  597. result = (int)ErrorCode.ERRCD_CTRLERR;
  598. //FDCPOSManager.tracer.WriteLine(string.Format("AssignMeter end: return result={0}", result));
  599. return result;
  600. }
  601. public int AssignMetersEnd()
  602. {
  603. int result = (int)ErrorCode.ERRCD_OK;
  604. //FDCPOSManager.tracer.WriteLine("init");
  605. if (OnAssignMetersEnd != null)
  606. {
  607. result = OnAssignMetersEnd();
  608. }
  609. else
  610. result = (int)ErrorCode.ERRCD_CTRLERR;
  611. //FDCPOSManager.tracer.WriteLine(string.Format("AssignMetersEnd end: return result={0}", result));
  612. return result;
  613. }
  614. public int AssignTank(int pumpId, int meterId, int tankId)
  615. {
  616. int result = (int)ErrorCode.ERRCD_OK;
  617. //FDCPOSManager.tracer.WriteLine("init");
  618. if (OnAssignTank != null)
  619. {
  620. result = OnAssignTank(pumpId, meterId, tankId);
  621. }
  622. else
  623. result = (int)ErrorCode.ERRCD_CTRLERR;
  624. //FDCPOSManager.tracer.WriteLine(string.Format("AssignTank end: return result={0}", result));
  625. return result;
  626. }
  627. public int AssignTanksEnd()
  628. {
  629. int result = (int)ErrorCode.ERRCD_OK;
  630. //FDCPOSManager.tracer.WriteLine("init");
  631. if (OnAssignTanksEnd != null)
  632. {
  633. result = OnAssignTanksEnd();
  634. }
  635. else
  636. result = (int)ErrorCode.ERRCD_CTRLERR;
  637. //FDCPOSManager.tracer.WriteLine(string.Format("AssignTanksEnd end: return result={0}", result));
  638. return result;
  639. }
  640. public int AddPricePole(int id, int type, int physicalAddress, int COMPort)
  641. {
  642. int result = (int)ErrorCode.ERRCD_OK;
  643. //FDCPOSManager.tracer.WriteLine("AddPricePole init");
  644. if (OnAddPricePole != null)
  645. {
  646. result = OnAddPricePole(id, type, physicalAddress, COMPort);
  647. }
  648. else
  649. result = (int)ErrorCode.ERRCD_CTRLERR;
  650. //FDCPOSManager.tracer.WriteLine(string.Format("AddPricePole end: return result={0}", result));
  651. return result;
  652. }
  653. public int AddPricePoleRow(int id, int gradeId, int fuelMode, int position)
  654. {
  655. int result = (int)ErrorCode.ERRCD_OK;
  656. //FDCPOSManager.tracer.WriteLine("AddPricePoleRow init");
  657. if (OnAddPricePoleRow != null)
  658. {
  659. result = OnAddPricePoleRow(id, gradeId, fuelMode, position);
  660. }
  661. else
  662. result = (int)ErrorCode.ERRCD_CTRLERR;
  663. //FDCPOSManager.tracer.WriteLine(string.Format("AddPricePoleRow end: return result={0}", result));
  664. return result;
  665. }
  666. public int AddPricePoleEnd()
  667. {
  668. int result = (int)ErrorCode.ERRCD_OK;
  669. //FDCPOSManager.tracer.WriteLine("AddPricePoleEnd init");
  670. if (OnAddPricePoleEnd != null)
  671. {
  672. result = OnAddPricePoleEnd();
  673. }
  674. else
  675. result = (int)ErrorCode.ERRCD_CTRLERR;
  676. //FDCPOSManager.tracer.WriteLine(string.Format("AddPricePoleEnd end: return result={0}", result));
  677. return result;
  678. }
  679. public int LoadPriceset(int id, int gradeId, double price)
  680. {
  681. int result = (int)ErrorCode.ERRCD_OK;
  682. //FDCPOSManager.tracer.WriteLine("init");
  683. if (OnLoadPriceset != null)
  684. {
  685. result = OnLoadPriceset(id, gradeId, price);
  686. }
  687. else
  688. result = (int)ErrorCode.ERRCD_CTRLERR;
  689. //FDCPOSManager.tracer.WriteLine(string.Format("LoadPriceset end: return result={0}", result));
  690. return result;
  691. }
  692. public int LoadPricesetEnd()
  693. {
  694. int result = (int)ErrorCode.ERRCD_OK;
  695. //FDCPOSManager.tracer.WriteLine("init");
  696. if (OnLoadPricesetEnd != null)
  697. {
  698. result = OnLoadPricesetEnd();
  699. }
  700. else
  701. result = (int)ErrorCode.ERRCD_CTRLERR;
  702. //FDCPOSManager.tracer.WriteLine(string.Format("LoadPricesetEnd end: return result={0}", result));
  703. return result;
  704. }
  705. #endregion
  706. }
  707. }