using System; using System.Collections.Generic; //using System.Linq; using System.Threading; using System.Reflection; using System.Runtime.InteropServices; using System.Net; using System.Net.Sockets; using System.Diagnostics; using Wayne.FDCPOSLibrary; using Wayne.OptInterface; using Microsoft.Extensions.Logging; namespace Wayne.FDCPOSInterface.Configuration { [InterfaceType(ComInterfaceType.InterfaceIsIDispatch)] public interface IConfigurationInterface { //[DispId(1)] //void Start(int iIPPortConfig, bool encryptedHeader, string forecourtConfiguration, int version, bool useExtensions, string certificate); [DispId(2)] void Test(); //[DispId(1)] //void ConfigStartResponse(bool accepted, int errorCode); //[DispId(2)] //void ConfigEndResponse(bool accepted, int errorCode); //[DispId(3)] //void AddGradeResponse(bool accepted, int errorCode); //[DispId(4)] //void AddAssignGradeParResponse(bool accepted, int errorCode); //[DispId(5)] //void AddTankResponse(bool accepted, int errorCode); //[DispId(6)] //void AddFuelModeResponse(bool accepted, int errorCode); //[DispId(7)] //void SetFuellingModesResponse(bool accepted, int errorCode); //[DispId(8)] //void AddFuelPointResponse(bool accepted, int errorCode); //[DispId(9)] //void AssignGradeResponse(bool accepted, int errorCode); //[DispId(10)] //void AssignMeterResponse(bool accepted, int errorCode); //[DispId(11)] //void AssignTanksResponse(bool accepted, int errorCode); //[DispId(12)] //void DefPricePoleResponse(bool accepted, int errorCode); //[DispId(13)] //void LoadPricesetResponse(bool accepted, int errorCode); } [InterfaceType(ComInterfaceType.InterfaceIsIDispatch)] [Guid("BF929A3C-BBD4-4b85-8FB9-400BADCE4BDB")] public interface IConfigurationInterfaceEvents { [DispId(1)] int OnConfigStart(); [DispId(2)] int OnConfigEnd(); [DispId(3)] int OnAddGrade(int id); [DispId(4)] int OnAddGradeEnd(); [DispId(5)] int OnAddAssignGradePar(int id, string name); [DispId(6)] int OnAddAssignGradeParsEnd(); [DispId(7)] int OnAddTank(int id); [DispId(8)] int OnAddTanksEnd(); [DispId(9)] int OnAddFuelMode(int id, string name, int authType, int maxAuthTime, int nozzleLayDownTime, int minGuardTime, int paymentType, double minVolume, double minMoney, int SupTransBufSize); [DispId(10)] int OnAddFuelModeEnd(); [DispId(11)] int OnSetFuellingModes(int fuellingType, double maxVolume, double maxMoney, int maxFuellingTime, int maxTimeNoProgress, int maxTimeToMinLimit, int presetOverrunLimit); [DispId(12)] int OnAddFuelPoint(int id, int pumpType, int comChannelId, string IPAddress, int IPPort, int physicalAddress, int internalAddress); [DispId(13)] int OnAddNozzle(int pumpId, int nozzleId); [DispId(14)] int OnAddFuelPointsEnd(); [DispId(15)] int OnAssignGrade(int pumpId, int nozzleId, int gradeId); [DispId(16)] int OnAssignGradesEnd(); [DispId(17)] int OnAssignMeter(int pumpId, int gradeId, int meterId, int part); [DispId(18)] int OnAssignMetersEnd(); [DispId(19)] int OnAssignTank(int pumpId, int meterId, int tankId); [DispId(20)] int OnAssignTanksEnd(); [DispId(21)] int OnAddPricePole(int id, int type, int physicalAddress, int COMPort); [DispId(22)] int OnAddPricePoleRow(int id, int gradeId, int fuelMode, int position); [DispId(23)] int OnAddPricePoleEnd(); [DispId(24)] int OnLoadPriceset(int id, int gradeId, double price); [DispId(25)] int OnLoadPricesetEnd(); } [Guid("818DBBB1-0A4E-49b9-BE0D-269F5F14D759")] [ClassInterface(ClassInterfaceType.None)] [ComVisible(true)] [ProgId("Configuration.ConfigurationInterface")] [ComSourceInterfaces(typeof(IConfigurationInterfaceEvents))] public class ConfigurationInterface : IConfigurationInterface { private ILogger logger; [ComVisible(false)] public ConfigurationMessages messages; [ComVisible(false)] FDCPOSConfigurationManager fdcposManager; //public static IConfigurationInterface CreateConfigurationInterface() //{ // return new ConfigurationInterface(); //} // Remember! the constructor cannot have parameters when called from COM CreateInstance public ConfigurationInterface(ILogger logger) { //FDCPOSManager.tracer.WriteLine("init"); this.logger = logger; if (FDCPOSConfigurationManager.fdcposManager == null) FDCPOSConfigurationManager.fdcposManager = new FDCPOSConfigurationManager(); FDCPOSConfigurationManager.fdcposManager.configurationInterface = this; fdcposManager = FDCPOSConfigurationManager.fdcposManager; messages = new ConfigurationMessages(fdcposManager, this.logger); //TODO tcpClientList = new Dictionary(); //FDCPOSManager.tracer.WriteLine("end"); } public void Disconnect(string workstationID, string applicationSender) { //if (fdcposInterface.OnClientDisconnected != null) // fdcposInterface.OnClientDisconnected(tcpClientList[fdcposClient.sID].workstationID, tcpClientList[fdcposClient.sID].applicationSender); } public delegate int OnConfigStartTarget(); public delegate int OnConfigEndTarget(); public delegate int OnAddGradeTarget(int id); public delegate int OnAddGradeEndTarget(); public delegate int OnAddAssignGradeParTarget(int id, string name); public delegate int OnAddAssignGradeParsEndTarget(); public delegate int OnAddTankTarget(int id); public delegate int OnAddTanksEndTarget(); public delegate int OnAddFuelModeTarget(int id, string name, int authType, int maxAuthTime, int nozzleLayDownTime, int minGuardTime, int paymentType, double minVolume, double minMoney, int SupTransBufSize); public delegate int OnAddFuelModeEndTarget(); public delegate int OnSetFuellingModesTarget(int fuellingType, double maxVolume, double maxMoney, int maxFuellingTime, int maxTimeNoProgress, int maxTimeToMinLimit, int presetOverrunLimit); public delegate int OnAddFuelPointTarget(int id, int pumpType, int comChannelId, string IPAddress, int IPPort, int physicalAddress, int internalAddress); public delegate int OnAddNozzleTarget(int pumpId, int nozzleId); public delegate int OnAddFuelPointsEndTarget(); public delegate int OnAssignGradeTarget(int pumpId, int nozzleId, int gradeId); public delegate int OnAssignGradesEndTarget(); public delegate int OnAssignMeterTarget(int pumpId, int gradeId, int meterId, int part); public delegate int OnAssignMetersEndTarget(); public delegate int OnAssignTankTarget(int pumpId, int meterId, int tankId); public delegate int OnAssignTanksEndTarget(); public delegate int OnAddPricePoleTarget(int id, int type, int physicalAddress, int COMPort); public delegate int OnAddPricePoleRowTarget(int id, int gradeId, int fuelMode, int position); public delegate int OnAddPricePoleEndTarget(); public delegate int OnLoadPricesetTarget(int id, int gradeId, double price); public delegate int OnLoadPricesetEndTarget(); public event OnConfigStartTarget OnConfigStart; public event OnConfigEndTarget OnConfigEnd; public event OnAddGradeTarget OnAddGrade; public event OnAddGradeEndTarget OnAddGradeEnd; public event OnAddAssignGradeParTarget OnAddAssignGradePar; public event OnAddAssignGradeParsEndTarget OnAddAssignGradeParsEnd; public event OnAddTankTarget OnAddTank; public event OnAddTanksEndTarget OnAddTanksEnd; public event OnAddFuelModeTarget OnAddFuelMode; public event OnAddFuelModeEndTarget OnAddFuelModeEnd; public event OnSetFuellingModesTarget OnSetFuellingModes; public event OnAddFuelPointTarget OnAddFuelPoint; public event OnAddNozzleTarget OnAddNozzle; public event OnAddFuelPointsEndTarget OnAddFuelPointsEnd; public event OnAssignGradeTarget OnAssignGrade; public event OnAssignGradesEndTarget OnAssignGradesEnd; public event OnAssignMeterTarget OnAssignMeter; public event OnAssignMetersEndTarget OnAssignMetersEnd; public event OnAssignTankTarget OnAssignTank; public event OnAssignTanksEndTarget OnAssignTanksEnd; public event OnAddPricePoleTarget OnAddPricePole; public event OnAddPricePoleRowTarget OnAddPricePoleRow; public event OnAddPricePoleEndTarget OnAddPricePoleEnd; public event OnLoadPricesetTarget OnLoadPriceset; public event OnLoadPricesetEndTarget OnLoadPricesetEnd; //public void Start(int iIPPortConfig, bool encryptedHeader, string forecourtConfiguration, int version, bool useExtensions, string certificate) //{ // //FDCPOSManager.tracer.WriteLine(string.Format("init: port={0}, encryptedHeader={1}, version={2}, extension={3}, certificate={4}", iIPPortConfig, encryptedHeader, version, useExtensions, certificate)); // messages.Start(iIPPortConfig, encryptedHeader, forecourtConfiguration, version, useExtensions, certificate); // //FDCPOSManager.tracer.WriteLine("end"); //} public void Test() { // TEMP init if (this.OnConfigStart != null) { //string sValue = IniFile.IniReadValue(SINPConfigurazione.IniPath + "ForecourtServer.ini", "Test", "Operation"); //if (sValue == "Test1") //{ // //FDCPOSManager.tracer.WriteLine("calling testConfig1"); // testConfig1(); // //FDCPOSManager.tracer.WriteLine("called testConfig1"); //} //else if (sValue == "Test2") //{ // //FDCPOSManager.tracer.WriteLine("calling testConfig2"); // testConfig2(); // //FDCPOSManager.tracer.WriteLine("called testConfig2"); //} //else if (sValue == "Test3") //{ // //FDCPOSManager.tracer.WriteLine("calling testConfig3"); // testConfig3(); // //FDCPOSManager.tracer.WriteLine("called testConfig3"); //} } // TEMP end } void testConfig1() { this.OnConfigStart(); this.OnAddGrade(1); this.OnAddGrade(2); this.OnAddGrade(3); this.OnAddGradeEnd(); this.OnAddAssignGradePar(1, ("BLUDIESEL")); this.OnAddAssignGradePar(2, ("GASOLIO")); this.OnAddAssignGradePar(3, ("SUPERSP")); this.OnAddAssignGradeParsEnd(); this.OnAddTank(1); this.OnAddTank(2); this.OnAddTank(3); this.OnAddTanksEnd(); this.OnAddFuelPoint(1, 1/*FDC_PUMP_NUOVOPIGNONE_CL1*/, 6, "", 0, 1, 1); this.OnAddFuelPoint(2, 2/*FDC_PUMP_NUOVOPIGNONE_CL2*/, 7, "", 0, 1, 1); this.OnAddNozzle(1, 1); this.OnAddNozzle(1, 2); this.OnAddNozzle(1, 3); this.OnAddNozzle(2, 1); this.OnAddNozzle(2, 2); this.OnAddFuelPointsEnd(); this.OnAssignGrade(1, 1, 1); this.OnAssignGrade(1, 2, 2); this.OnAssignGrade(1, 3, 3); this.OnAssignGrade(2, 1, 1); this.OnAssignGrade(2, 2, 2); this.OnAssignGradesEnd(); this.OnAssignMeter(1, 1, 1, 0); this.OnAssignMeter(1, 2, 2, 0); this.OnAssignMeter(1, 3, 3, 0); this.OnAssignMeter(2, 1, 1, 0); this.OnAssignMeter(2, 2, 2, 0); this.OnAssignMetersEnd(); this.OnAssignTank(1, 1, 1); this.OnAssignTank(1, 2, 2); this.OnAssignTank(1, 3, 3); this.OnAssignTank(2, 1, 1); this.OnAssignTank(2, 2, 2); this.OnAssignTanksEnd(); this.OnConfigEnd(); } void testConfig2() { this.OnConfigStart(); this.OnAddGrade(1); this.OnAddGrade(2); this.OnAddGrade(3); this.OnAddGrade(4); this.OnAddGradeEnd(); this.OnAddAssignGradePar(1, ("BLUDIESEL")); this.OnAddAssignGradePar(2, ("GASOLIO")); this.OnAddAssignGradePar(3, ("SUPERSP")); this.OnAddAssignGradePar(4, ("GPL")); this.OnAddAssignGradeParsEnd(); this.OnAddTank(1); this.OnAddTank(2); this.OnAddTank(3); this.OnAddTank(4); this.OnAddTanksEnd(); this.OnAddFuelPoint(1, 99/*FDC_PUMP_BOGUS*/, 6, "", 0, 1, 1); this.OnAddFuelPoint(2, 99/*FDC_PUMP_BOGUS*/, 7, "", 0, 2, 2); this.OnAddFuelPoint(3, 99/*FDC_PUMP_BOGUS*/, 8, "", 0, 3, 3); this.OnAddFuelPoint(4, 99/*FDC_PUMP_BOGUS*/, 9, "", 0, 4, 4); this.OnAddNozzle(1, 1); this.OnAddNozzle(1, 2); this.OnAddNozzle(1, 3); this.OnAddNozzle(2, 1); this.OnAddNozzle(2, 2); this.OnAddNozzle(2, 3); this.OnAddNozzle(3, 1); this.OnAddNozzle(3, 2); this.OnAddNozzle(3, 3); this.OnAddNozzle(4, 1); this.OnAddFuelPointsEnd(); this.OnAssignGrade(1, 1, 1); this.OnAssignGrade(1, 2, 2); this.OnAssignGrade(1, 3, 3); this.OnAssignGrade(2, 1, 1); this.OnAssignGrade(2, 2, 2); this.OnAssignGrade(2, 3, 3); this.OnAssignGrade(3, 1, 1); this.OnAssignGrade(3, 2, 2); this.OnAssignGrade(3, 3, 3); this.OnAssignGrade(4, 1, 4); this.OnAssignGradesEnd(); this.OnAssignMeter(1, 1, 1, 0); this.OnAssignMeter(1, 2, 2, 0); this.OnAssignMeter(1, 3, 3, 0); this.OnAssignMeter(2, 1, 1, 0); this.OnAssignMeter(2, 2, 2, 0); this.OnAssignMeter(2, 3, 3, 0); this.OnAssignMeter(3, 1, 1, 0); this.OnAssignMeter(3, 2, 2, 0); this.OnAssignMeter(3, 3, 3, 0); this.OnAssignMeter(4, 4, 4, 0); this.OnAssignMetersEnd(); this.OnAssignTank(1, 1, 1); this.OnAssignTank(1, 2, 2); this.OnAssignTank(1, 3, 3); this.OnAssignTank(2, 1, 1); this.OnAssignTank(2, 2, 2); this.OnAssignTank(2, 3, 3); this.OnAssignTank(3, 1, 1); this.OnAssignTank(3, 2, 2); this.OnAssignTank(3, 3, 3); this.OnAssignTank(4, 4, 4); this.OnAssignTanksEnd(); this.OnConfigEnd(); } void testConfig3() { this.OnConfigStart(); this.OnAddGrade(1); this.OnAddGrade(2); this.OnAddGrade(3); this.OnAddGradeEnd(); this.OnAddAssignGradePar(1, ("BLUDIESEL")); this.OnAddAssignGradePar(2, ("GASOLIO")); this.OnAddAssignGradePar(3, ("SUPERSP")); this.OnAddAssignGradeParsEnd(); this.OnAddTank(1); this.OnAddTank(2); this.OnAddTank(3); this.OnAddTanksEnd(); this.OnAddFuelPoint(1, 99/*FDC_PUMP_BOGUS*/, 6, "", 0, 1, 1); this.OnAddFuelPoint(2, 99/*FDC_PUMP_BOGUS*/, 7, "", 0, 2, 2); this.OnAddNozzle(1, 1); this.OnAddNozzle(1, 2); this.OnAddNozzle(1, 3); this.OnAddNozzle(2, 1); this.OnAddNozzle(2, 2); this.OnAddNozzle(2, 3); this.OnAddFuelPointsEnd(); this.OnAssignGrade(1, 1, 1); this.OnAssignGrade(1, 2, 2); this.OnAssignGrade(1, 3, 3); this.OnAssignGrade(2, 1, 1); this.OnAssignGrade(2, 2, 2); this.OnAssignGrade(2, 3, 3); this.OnAssignGradesEnd(); this.OnAssignMeter(1, 1, 1, 0); this.OnAssignMeter(1, 2, 2, 0); this.OnAssignMeter(1, 3, 3, 0); this.OnAssignMeter(2, 1, 1, 0); this.OnAssignMeter(2, 2, 2, 0); this.OnAssignMeter(2, 3, 3, 0); this.OnAssignMetersEnd(); this.OnAssignTank(1, 1, 1); this.OnAssignTank(1, 2, 2); this.OnAssignTank(1, 3, 3); this.OnAssignTank(2, 1, 1); this.OnAssignTank(2, 2, 2); this.OnAssignTank(2, 3, 3); this.OnAssignTanksEnd(); this.OnConfigEnd(); } #region Requests public int ConfigStart() { int result = (int)ErrorCode.ERRCD_OK; //FDCPOSManager.tracer.WriteLine("ConfigStart init"); if (OnConfigStart != null) { result = OnConfigStart(); } else result = (int)ErrorCode.ERRCD_CTRLERR; //FDCPOSManager.tracer.WriteLine(string.Format("ConfigStart end: return result={0}", result)); return result; } public int ConfigEnd() { int result = (int)ErrorCode.ERRCD_OK; //FDCPOSManager.tracer.WriteLine("ConfigEnd init"); if (OnConfigEnd != null) { result = OnConfigEnd(); } else result = (int)ErrorCode.ERRCD_CTRLERR; //FDCPOSManager.tracer.WriteLine(string.Format("ConfigEnd end: return result={0}", result)); return result; } public int AddGrade(int id) { int result = (int)ErrorCode.ERRCD_OK; //FDCPOSManager.tracer.WriteLine("init"); if (OnAddGrade != null) { result = OnAddGrade(id); } else result = (int)ErrorCode.ERRCD_CTRLERR; //FDCPOSManager.tracer.WriteLine(string.Format("AddGrade end: return result={0}", result)); return result; } public int AddGradeEnd() { int result = (int)ErrorCode.ERRCD_OK; //FDCPOSManager.tracer.WriteLine("init"); if (OnAddGradeEnd != null) { result = OnAddGradeEnd(); } else result = (int)ErrorCode.ERRCD_CTRLERR; //FDCPOSManager.tracer.WriteLine(string.Format("AddGradeEnd end: return result={0}", result)); return result; } public int AddAssignGradePar(int id, string name) { int result = (int)ErrorCode.ERRCD_OK; //FDCPOSManager.tracer.WriteLine("init"); if (OnAddAssignGradePar != null) { result = OnAddAssignGradePar(id, name); } else result = (int)ErrorCode.ERRCD_CTRLERR; //FDCPOSManager.tracer.WriteLine(string.Format("AddAssignGradePar end: return result={0}", result)); return result; } public int AddAssignGradeParsEnd() { int result = (int)ErrorCode.ERRCD_OK; //FDCPOSManager.tracer.WriteLine("init"); if (OnAddAssignGradeParsEnd != null) { result = OnAddAssignGradeParsEnd(); } else result = (int)ErrorCode.ERRCD_CTRLERR; //FDCPOSManager.tracer.WriteLine(string.Format("AddAssignGradeParsEnd end: return result={0}", result)); return result; } public int AddTank(int id) { int result = (int)ErrorCode.ERRCD_OK; //FDCPOSManager.tracer.WriteLine("init"); if (OnAddTank != null) { result = OnAddTank(id); } else result = (int)ErrorCode.ERRCD_CTRLERR; //FDCPOSManager.tracer.WriteLine(string.Format("AddTank end: return result={0}", result)); return result; } public int AddTanksEnd() { int result = (int)ErrorCode.ERRCD_OK; //FDCPOSManager.tracer.WriteLine("init"); if (OnAddTanksEnd != null) { result = OnAddTanksEnd(); } else result = (int)ErrorCode.ERRCD_CTRLERR; //FDCPOSManager.tracer.WriteLine(string.Format("AddTanksEnd end: return result={0}", result)); return result; } public int AddFuelMode(int id, string name, int authType, int maxAuthTime, int nozzleLayDownTime, int minGuardTime, int paymentType, double minVolume, double minMoney, int SupTransBufSize) { int result = (int)ErrorCode.ERRCD_OK; //FDCPOSManager.tracer.WriteLine("init"); if (OnAddFuelMode != null) { result = OnAddFuelMode(id, name, authType, maxAuthTime, nozzleLayDownTime, minGuardTime, paymentType, minVolume, minMoney, SupTransBufSize); } else result = (int)ErrorCode.ERRCD_CTRLERR; //FDCPOSManager.tracer.WriteLine(string.Format("AddFuelMode end: return result={0}", result)); return result; } public int AddFuelModeEnd() { int result = (int)ErrorCode.ERRCD_OK; //FDCPOSManager.tracer.WriteLine("init"); if (OnAddFuelModeEnd != null) { result = OnAddFuelModeEnd(); } else result = (int)ErrorCode.ERRCD_CTRLERR; //FDCPOSManager.tracer.WriteLine(string.Format("AddFuelModeEnd end: return result={0}", result)); return result; } public int SetFuellingModes(int fuellingType, double maxVolume, double maxMoney, int maxFuellingTime, int maxTimeNoProgress, int maxTimeToMinLimit, int presetOverrunLimit) { int result = (int)ErrorCode.ERRCD_OK; //FDCPOSManager.tracer.WriteLine("init"); if (OnSetFuellingModes != null) { result = OnSetFuellingModes(fuellingType, maxVolume, maxMoney, maxFuellingTime, maxTimeNoProgress, maxTimeToMinLimit, presetOverrunLimit); } else result = (int)ErrorCode.ERRCD_CTRLERR; //FDCPOSManager.tracer.WriteLine(string.Format("SetFuellingModes end: return result={0}", result)); return result; } public int AddFuelPoint(int id, int pumpType, int comChannelId, string IPAddress, int IPPort, int physicalAddress, int internalAddress) { int result = (int)ErrorCode.ERRCD_OK; //FDCPOSManager.tracer.WriteLine("init"); if (OnAddFuelPoint != null) { result = OnAddFuelPoint(id, pumpType, comChannelId, IPAddress, IPPort, physicalAddress, internalAddress); } else result = (int)ErrorCode.ERRCD_CTRLERR; //FDCPOSManager.tracer.WriteLine(string.Format("AddFuelPoint end: return result={0}", result)); return result; } public int AddNozzle(int pumpId, int nozzleId) { int result = (int)ErrorCode.ERRCD_OK; //FDCPOSManager.tracer.WriteLine("init"); if (OnAddNozzle != null) { result = OnAddNozzle(pumpId, nozzleId); } else result = (int)ErrorCode.ERRCD_CTRLERR; //FDCPOSManager.tracer.WriteLine(string.Format("AddNozzle end: return result={0}", result)); return result; } public int AddFuelPointsEnd() { int result = (int)ErrorCode.ERRCD_OK; //FDCPOSManager.tracer.WriteLine("init"); if (OnAddFuelPointsEnd != null) { result = OnAddFuelPointsEnd(); } else result = (int)ErrorCode.ERRCD_CTRLERR; //FDCPOSManager.tracer.WriteLine(string.Format("AddFuelPointsEnd end: return result={0}", result)); return result; } public int AssignGrade(int pumpId, int nozzleId, int gradeId) { int result = (int)ErrorCode.ERRCD_OK; //FDCPOSManager.tracer.WriteLine("init"); if (OnAssignGrade != null) { result = OnAssignGrade(pumpId, nozzleId, gradeId); } else result = (int)ErrorCode.ERRCD_CTRLERR; //FDCPOSManager.tracer.WriteLine(string.Format("AssignGrade end: return result={0}", result)); return result; } public int AssignGradesEnd() { int result = (int)ErrorCode.ERRCD_OK; //FDCPOSManager.tracer.WriteLine("init"); if (OnAssignGradesEnd != null) { result = OnAssignGradesEnd(); } else result = (int)ErrorCode.ERRCD_CTRLERR; //FDCPOSManager.tracer.WriteLine(string.Format("AssignGradesEnd end: return result={0}", result)); return result; } public int AssignMeter(int pumpId, int gradeId, int meterId, int part) { int result = (int)ErrorCode.ERRCD_OK; //FDCPOSManager.tracer.WriteLine("init"); if (OnAssignMeter != null) { result = OnAssignMeter(pumpId, gradeId, meterId, part); } else result = (int)ErrorCode.ERRCD_CTRLERR; //FDCPOSManager.tracer.WriteLine(string.Format("AssignMeter end: return result={0}", result)); return result; } public int AssignMetersEnd() { int result = (int)ErrorCode.ERRCD_OK; //FDCPOSManager.tracer.WriteLine("init"); if (OnAssignMetersEnd != null) { result = OnAssignMetersEnd(); } else result = (int)ErrorCode.ERRCD_CTRLERR; //FDCPOSManager.tracer.WriteLine(string.Format("AssignMetersEnd end: return result={0}", result)); return result; } public int AssignTank(int pumpId, int meterId, int tankId) { int result = (int)ErrorCode.ERRCD_OK; //FDCPOSManager.tracer.WriteLine("init"); if (OnAssignTank != null) { result = OnAssignTank(pumpId, meterId, tankId); } else result = (int)ErrorCode.ERRCD_CTRLERR; //FDCPOSManager.tracer.WriteLine(string.Format("AssignTank end: return result={0}", result)); return result; } public int AssignTanksEnd() { int result = (int)ErrorCode.ERRCD_OK; //FDCPOSManager.tracer.WriteLine("init"); if (OnAssignTanksEnd != null) { result = OnAssignTanksEnd(); } else result = (int)ErrorCode.ERRCD_CTRLERR; //FDCPOSManager.tracer.WriteLine(string.Format("AssignTanksEnd end: return result={0}", result)); return result; } public int AddPricePole(int id, int type, int physicalAddress, int COMPort) { int result = (int)ErrorCode.ERRCD_OK; //FDCPOSManager.tracer.WriteLine("AddPricePole init"); if (OnAddPricePole != null) { result = OnAddPricePole(id, type, physicalAddress, COMPort); } else result = (int)ErrorCode.ERRCD_CTRLERR; //FDCPOSManager.tracer.WriteLine(string.Format("AddPricePole end: return result={0}", result)); return result; } public int AddPricePoleRow(int id, int gradeId, int fuelMode, int position) { int result = (int)ErrorCode.ERRCD_OK; //FDCPOSManager.tracer.WriteLine("AddPricePoleRow init"); if (OnAddPricePoleRow != null) { result = OnAddPricePoleRow(id, gradeId, fuelMode, position); } else result = (int)ErrorCode.ERRCD_CTRLERR; //FDCPOSManager.tracer.WriteLine(string.Format("AddPricePoleRow end: return result={0}", result)); return result; } public int AddPricePoleEnd() { int result = (int)ErrorCode.ERRCD_OK; //FDCPOSManager.tracer.WriteLine("AddPricePoleEnd init"); if (OnAddPricePoleEnd != null) { result = OnAddPricePoleEnd(); } else result = (int)ErrorCode.ERRCD_CTRLERR; //FDCPOSManager.tracer.WriteLine(string.Format("AddPricePoleEnd end: return result={0}", result)); return result; } public int LoadPriceset(int id, int gradeId, double price) { int result = (int)ErrorCode.ERRCD_OK; //FDCPOSManager.tracer.WriteLine("init"); if (OnLoadPriceset != null) { result = OnLoadPriceset(id, gradeId, price); } else result = (int)ErrorCode.ERRCD_CTRLERR; //FDCPOSManager.tracer.WriteLine(string.Format("LoadPriceset end: return result={0}", result)); return result; } public int LoadPricesetEnd() { int result = (int)ErrorCode.ERRCD_OK; //FDCPOSManager.tracer.WriteLine("init"); if (OnLoadPricesetEnd != null) { result = OnLoadPricesetEnd(); } else result = (int)ErrorCode.ERRCD_CTRLERR; //FDCPOSManager.tracer.WriteLine(string.Format("LoadPricesetEnd end: return result={0}", result)); return result; } #endregion } }