12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288 |
- using System;
- using System.Collections.Generic;
- using Wayne.FDCPOSLibrary;
- using Wayne.FDCPOSLibrary.Configuration;
- using Wayne.Lib.Log;
- namespace Wayne.ForecourtControl.Fusion
- {
- public class FUSIONConfig
- {
- #region Fields
- private FUSIONForecourtControl forecourtControl;
- private IFSFSockets clientSocket;
- protected Dictionary<string, ServiceRequest> serviceRequestClientList;
- private readonly DebugLogger debugLogger;
- #endregion
- #region Construction
- public FUSIONConfig(int deviceId)
- {
- if (FUSIONFactory.fusionForecourtControlList.ContainsKey(deviceId))
- {
- this.forecourtControl = (FUSIONForecourtControl)(FUSIONFactory.fusionForecourtControlList[deviceId]);
- clientSocket = this.forecourtControl.manager.ifsfManager.clientSocket;
- debugLogger = forecourtControl.manager.ifsfManager.DebugLogger;
- serviceRequestClientList = new Dictionary<string, ServiceRequest>();
- }
- }
- #endregion
- private void DebugLog(string s)
- {
- if (debugLogger.IsActive())
- debugLogger.Add(s);
- }
- #region Events
- public event EventHandler OnConfigurationChanged;
- internal void FireOnConfigurationChanged()
- {
- if (this.OnConfigurationChanged != null)
- {
- this.OnConfigurationChanged(this, EventArgs.Empty);
- }
- }
- #endregion
- #region Config Start
- public void ConfigStart(EventHandler<Wayne.Lib.AsyncCompletedEventArgs> requestCompleted, object userToken, object src)
- {
- try
- {
- // create XML ServiceRequest object
- ServiceRequestConfigStart SvRes = new ServiceRequestConfigStart();
- SvRes.ApplicationSender = this.clientSocket.applicationSender;
- SvRes.WorkstationID = this.clientSocket.workstationID;
- ServiceRequestConfigStart.ServiceRequestPOSdataConfigStart posDataElem = new ServiceRequestConfigStart.ServiceRequestPOSdataConfigStart();
- posDataElem.POSTimeStamp = DateTime.Now.ToString(FDCConvert.DateFormat);
- if (FDCGlobal.ConfigVersion >= FDCConfigVersion.V0200)
- posDataElem.InterfaceVersion = FDCGlobal.ConfigVersionToString();
- ServiceRequestConfigStart.ServiceRequestPOSdataConfigStart[] posDataArray = { posDataElem };
- SvRes.POSdata = posDataArray;
- clientSocket.ifsfMessages.EnqueueMessage(SvRes, requestCompleted, userToken, src, true, 30000);
- }
- catch (Exception ex)
- {
- DebugLog("ConfigStart Exception! " + ex.ToString());
- }
- }
- public void ConfigStartResp(int requestId, string sOverallResult, ServiceResponseConfigStart sr)
- {
- try
- {
- string errorCode = sr.FDCdata[0].FDCStatus;
- DebugLog(string.Format("ConfigStartResp errorCode={0}", errorCode));
- clientSocket.ifsfMessages.asyncResponseManager.SendResponse(requestId, errorCode == ErrorCode.ERRCD_OK.ToString() && sOverallResult == FDCPOSLibrary.OverallResult.Success.ToString());
- }
- catch (Exception ex)
- {
- DebugLog("ConfigStartResp Exception! " + ex.ToString());
- }
- }
- #endregion
- #region Config End
- public void ConfigEnd(EventHandler<Wayne.Lib.AsyncCompletedEventArgs> requestCompleted, object userToken, object src)
- {
- try
- {
- // create XML ServiceRequest object
- ServiceRequestConfigEnd SvRes = new ServiceRequestConfigEnd();
- SvRes.ApplicationSender = this.clientSocket.applicationSender;
- SvRes.WorkstationID = this.clientSocket.workstationID;
- ServiceRequestConfigEnd.ServiceRequestPOSdataConfigEnd posDataElem = new ServiceRequestConfigEnd.ServiceRequestPOSdataConfigEnd();
- posDataElem.POSTimeStamp = DateTime.Now.ToString(FDCConvert.DateFormat);
- ServiceRequestConfigEnd.ServiceRequestPOSdataConfigEnd[] posDataArray = { posDataElem };
- SvRes.POSdata = posDataArray;
- clientSocket.ifsfMessages.EnqueueMessage(SvRes, requestCompleted, userToken, src, true, 60000);
- }
- catch (Exception ex)
- {
- DebugLog("ConfigEnd Exception! " + ex.ToString());
- }
- }
- public void ConfigEndResp(int requestId, string sOverallResult, ServiceResponseConfigEnd sr)
- {
- try
- {
- string errorCode = sr.FDCdata[0].FDCStatus;
- DebugLog(string.Format("ConfigEndResp errorCode={0}", errorCode));
- clientSocket.ifsfMessages.asyncResponseManager.SendResponse(requestId, errorCode == ErrorCode.ERRCD_OK.ToString() && sOverallResult == FDCPOSLibrary.OverallResult.Success.ToString());
- }
- catch (Exception ex)
- {
- DebugLog("ConfigEndResp Exception! " + ex.ToString());
- }
- }
- #endregion
- #region Products
- public bool AddProduct(int productId, string name)
- {
- try
- {
- DebugLog("AddProduct init");
- ServiceRequestDefProducts SvRes = null;
- string key = "DefProducts";
- if (serviceRequestClientList.ContainsKey(key))
- SvRes = (ServiceRequestDefProducts)(serviceRequestClientList[key]);
- if (SvRes == null)
- {
- SvRes = new ServiceRequestDefProducts();
- SvRes.WorkstationID = this.clientSocket.workstationID;
- SvRes.ApplicationSender = this.clientSocket.applicationSender;
- serviceRequestClientList.Add(key, SvRes);
- }
- else
- {
- if (SvRes.RequestType != "DefProducts")
- {
- DebugLog(string.Format("SvRes.RequestType={0} != DefProducts", SvRes.RequestType));
- return false;
- }
- }
- ServiceRequestDefProducts.ServiceRequestPOSdataDefProducts POSDataElem = null;
- if (SvRes.POSdata != null)
- POSDataElem = SvRes.POSdata[0];
- else
- {
- ServiceRequestDefProducts.ServiceRequestPOSdataDefProducts[] POSDataArray = null;
- POSDataElem = new ServiceRequestDefProducts.ServiceRequestPOSdataDefProducts();
- IFSFManager.ArrayResize<ServiceRequestDefProducts.ServiceRequestPOSdataDefProducts>(ref POSDataArray, (POSDataArray != null) ? POSDataArray.Length + 1 : 1);
- POSDataArray[POSDataArray.Length - 1] = POSDataElem;
- POSDataElem.POSTimeStamp = FDCConvert.ToString(DateTime.Now);
- SvRes.POSdata = POSDataArray;
- }
- ServiceRequestDefProducts.DefProductsProduct product = null;
- if (POSDataElem.Product != null)
- {
- foreach (ServiceRequestDefProducts.DefProductsProduct productTemp in POSDataElem.Product)
- if (productTemp.Id == Convert.ToString(productId))
- product = productTemp;
- }
- if (product == null && productId > 0)
- {
- product = new ServiceRequestDefProducts.DefProductsProduct();
- product.Id = Convert.ToString(productId);
- product.Name = name;
- ServiceRequestDefProducts.DefProductsProduct[] productArray = POSDataElem.Product;
- IFSFManager.ArrayResize<ServiceRequestDefProducts.DefProductsProduct>(ref productArray, (productArray != null) ? productArray.Length + 1 : 1);
- productArray[productArray.Length - 1] = product;
- POSDataElem.Product = productArray;
- }
- DebugLog("AddProduct end");
- return true;
- }
- catch (Exception ex)
- {
- DebugLog("AddProduct Exception! " + ex.ToString());
- }
- return false;
- }
- public bool AddProductSend(EventHandler<Wayne.Lib.AsyncCompletedEventArgs> requestCompleted, object userToken, object src)
- {
- try
- {
- DebugLog("AddProductSend init");
- ServiceRequestDefProducts SvRes = null;
- string key = "DefProducts";
- if (serviceRequestClientList.ContainsKey(key))
- SvRes = (ServiceRequestDefProducts)(serviceRequestClientList[key]);
- if (SvRes != null)
- {
- clientSocket.ifsfMessages.EnqueueMessage(SvRes, requestCompleted, userToken, src, true, 30000);
- serviceRequestClientList.Remove(key);
- DebugLog("AddProductSend end");
- return true;
- }
- }
- catch (Exception ex)
- {
- DebugLog("AddProductSend Exception! " + ex.ToString());
- }
- return false;
- }
- public void DefProductsResp(int requestId, string sOverallResult, ServiceResponseDefProducts sr)
- {
- try
- {
- string errorCode = sr.FDCdata[0].FDCStatus;
- DebugLog(string.Format("DefProductsResp errorCode={0}", errorCode));
- clientSocket.ifsfMessages.asyncResponseManager.SendResponse(requestId, errorCode == ErrorCode.ERRCD_OK.ToString() && sOverallResult == FDCPOSLibrary.OverallResult.Success.ToString());
- }
- catch (Exception ex)
- {
- DebugLog("DefProductsResp Exception! " + ex.ToString());
- }
- }
- #endregion
- #region Grades
- public bool AddGrade(int gradeId, string name)
- {
- return InternalAddGrade(gradeId, name, null, null, null, null, null);
- }
- public bool AddGrade(int gradeId, string name, string unitOfMeasure)
- {
- return InternalAddGrade(gradeId, name, null, null, null, null, unitOfMeasure);
- }
- public bool AddGrade(int gradeId, string name, int productHighId, int productHighPerc, int productLowId, int productLowPerc, string unitOfMeasure)
- {
- return InternalAddGrade(gradeId, name, productHighId, productHighPerc, productLowId, productLowPerc, unitOfMeasure);
- }
- private bool InternalAddGrade(int gradeId, string name, int? productHighId, int? productHighPerc, int? productLowId, int? productLowPerc, string unitOfMeasure)
- {
- try
- {
- DebugLog("InternalAddGrade init");
- ServiceRequestDefGrades SvRes = null;
- string key = "DefGrades";
- if (serviceRequestClientList.ContainsKey(key))
- SvRes = (ServiceRequestDefGrades)(serviceRequestClientList[key]);
- if (SvRes == null)
- {
- SvRes = new ServiceRequestDefGrades();
- SvRes.WorkstationID = this.clientSocket.workstationID;
- SvRes.ApplicationSender = this.clientSocket.applicationSender;
- serviceRequestClientList.Add(key, SvRes);
- }
- else
- {
- if (SvRes.RequestType != "DefGrades" && SvRes.RequestType != "DefGrade")
- {
- DebugLog(string.Format("SvRes.RequestType={0} != DefGrades", SvRes.RequestType));
- return false;
- }
- }
- ServiceRequestDefGrades.ServiceRequestPOSdataDefGrades POSDataElem = null;
- if (SvRes.POSdata != null)
- POSDataElem = SvRes.POSdata[0];
- else
- {
- ServiceRequestDefGrades.ServiceRequestPOSdataDefGrades[] POSDataArray = null;
- POSDataElem = new ServiceRequestDefGrades.ServiceRequestPOSdataDefGrades();
- IFSFManager.ArrayResize<ServiceRequestDefGrades.ServiceRequestPOSdataDefGrades>(ref POSDataArray, (POSDataArray != null) ? POSDataArray.Length + 1 : 1);
- POSDataArray[POSDataArray.Length - 1] = POSDataElem;
- POSDataElem.POSTimeStamp = FDCConvert.ToString(DateTime.Now);
- SvRes.POSdata = POSDataArray;
- }
- ServiceRequestDefGrades.DefGradesGrade grade = null;
- if (POSDataElem.Grade != null)
- {
- foreach (ServiceRequestDefGrades.DefGradesGrade gradeTemp in POSDataElem.Grade)
- if (gradeTemp.Id == Convert.ToString(gradeId))
- grade = gradeTemp;
- }
- if (grade == null && gradeId > 0)
- {
- grade = new ServiceRequestDefGrades.DefGradesGrade();
- grade.Id = Convert.ToString(gradeId);
- if (name != null)
- grade.Name = name;
- if (productHighId != null)
- grade.ProductHighId = Convert.ToString((int)productHighId);
- if (productHighPerc != null)
- grade.ProductHighPerc = Convert.ToString((int)productHighPerc);
- if (productLowId != null)
- grade.ProductLowId = Convert.ToString((int)productLowId);
- if (productLowPerc != null)
- grade.ProductLowPerc = Convert.ToString((int)productLowPerc);
- if (!String.IsNullOrEmpty(unitOfMeasure))
- {
- var upperCaseUnitName = unitOfMeasure.ToUpper();
- // Fusion only allows the following units
- // TODO: Change this to be more flexible
- if (upperCaseUnitName == "KG")
- grade.UnitOfMeasure = "kg";
- else if (upperCaseUnitName.StartsWith("LIT") ||
- upperCaseUnitName.StartsWith("LTR"))
- grade.UnitOfMeasure = "liters";
- else if (upperCaseUnitName == "M3")
- grade.UnitOfMeasure = "M3";
- else if (upperCaseUnitName.StartsWith("GAL"))
- grade.UnitOfMeasure = "gallons";
- }
- ServiceRequestDefGrades.DefGradesGrade[] gradeArray = POSDataElem.Grade;
- IFSFManager.ArrayResize<ServiceRequestDefGrades.DefGradesGrade>(ref gradeArray, (gradeArray != null) ? gradeArray.Length + 1 : 1);
- gradeArray[gradeArray.Length - 1] = grade;
- POSDataElem.Grade = gradeArray;
- }
- DebugLog("InternalAddGrade end");
- return true;
- }
- catch (Exception ex)
- {
- DebugLog("InternalAddGrade Exception! " + ex.ToString());
- }
- return false;
- }
- public bool AddGradeSend(EventHandler<Wayne.Lib.AsyncCompletedEventArgs> requestCompleted, object userToken, object src)
- {
- try
- {
- DebugLog("AddGradeSend init");
- ServiceRequestDefGrades SvRes = null;
- string key = "DefGrades";
- if (serviceRequestClientList.ContainsKey(key))
- SvRes = (ServiceRequestDefGrades)(serviceRequestClientList[key]);
- if (SvRes != null)
- {
- clientSocket.ifsfMessages.EnqueueMessage(SvRes, requestCompleted, userToken, src, true, 30000);
- serviceRequestClientList.Remove(key);
- DebugLog("AddGradeSend end");
- return true;
- }
- }
- catch (Exception ex)
- {
- DebugLog("AddGradeSend Exception! " + ex.ToString());
- }
- return false;
- }
- public bool AddAssignGradePar(int gradeId, string gradeName)
- {
- try
- {
- DebugLog("AddAssignGradePar init");
- ServiceRequestAssignGradePars SvRes = null;
- string key = "AssignGradePars";
- if (serviceRequestClientList.ContainsKey(key))
- SvRes = (ServiceRequestAssignGradePars)(serviceRequestClientList[key]);
- if (SvRes == null)
- {
- SvRes = new ServiceRequestAssignGradePars();
- SvRes.WorkstationID = this.clientSocket.workstationID;
- SvRes.ApplicationSender = this.clientSocket.applicationSender;
- serviceRequestClientList.Add(key, SvRes);
- }
- else
- {
- if (SvRes.RequestType != "AssignGradePars")
- {
- DebugLog(string.Format("SvRes.RequestType={0} != AssignGradePars", SvRes.RequestType));
- return false;
- }
- }
- ServiceRequestAssignGradePars.ServiceRequestPOSdataAssignGradePars POSDataElem = null;
- if (SvRes.POSdata != null)
- POSDataElem = SvRes.POSdata[0];
- else
- {
- ServiceRequestAssignGradePars.ServiceRequestPOSdataAssignGradePars[] POSDataArray = null;
- POSDataElem = new ServiceRequestAssignGradePars.ServiceRequestPOSdataAssignGradePars();
- IFSFManager.ArrayResize<ServiceRequestAssignGradePars.ServiceRequestPOSdataAssignGradePars>(ref POSDataArray, (POSDataArray != null) ? POSDataArray.Length + 1 : 1);
- POSDataArray[POSDataArray.Length - 1] = POSDataElem;
- POSDataElem.POSTimeStamp = FDCConvert.ToString(DateTime.Now);
- SvRes.POSdata = POSDataArray;
- }
- ServiceRequestAssignGradePars.AssignGradeParsGrade grade = null;
- if (POSDataElem.Grade != null)
- {
- foreach (ServiceRequestAssignGradePars.AssignGradeParsGrade gradeTemp in POSDataElem.Grade)
- if (gradeTemp.Id == Convert.ToString(gradeId))
- grade = gradeTemp;
- }
- if (grade == null && gradeId > 0)
- {
- grade = new ServiceRequestAssignGradePars.AssignGradeParsGrade();
- grade.Id = Convert.ToString(gradeId);
- grade.Name = gradeName;
- ServiceRequestAssignGradePars.AssignGradeParsGrade[] gradeArray = POSDataElem.Grade;
- IFSFManager.ArrayResize<ServiceRequestAssignGradePars.AssignGradeParsGrade>(ref gradeArray, (gradeArray != null) ? gradeArray.Length + 1 : 1);
- gradeArray[gradeArray.Length - 1] = grade;
- POSDataElem.Grade = gradeArray;
- }
- DebugLog("AddAssignGradePar end");
- return true;
- }
- catch (Exception ex)
- {
- DebugLog("AddAssignGradePar Exception! " + ex.ToString());
- }
- return false;
- }
- public bool AddAssignGradeParsSend(EventHandler<Wayne.Lib.AsyncCompletedEventArgs> requestCompleted, object userToken, object src)
- {
- try
- {
- DebugLog("AddAssignGradeParsSend init");
- ServiceRequestAssignGradePars SvRes = null;
- string key = "AssignGradePars";
- if (serviceRequestClientList.ContainsKey(key))
- SvRes = (ServiceRequestAssignGradePars)(serviceRequestClientList[key]);
- if (SvRes != null)
- {
- clientSocket.ifsfMessages.EnqueueMessage(SvRes, requestCompleted, userToken, src, true, 30000);
- serviceRequestClientList.Remove(key);
- DebugLog("AddAssignGradeParsSend end");
- return true;
- }
- }
- catch (Exception ex)
- {
- DebugLog("AddAssignGradeParsSend Exception! " + ex.ToString());
- }
- return false;
- }
- public void DefGradesResp(int requestId, string sOverallResult, ServiceResponseDefGrades sr)
- {
- try
- {
- string errorCode = sr.FDCdata[0].FDCStatus;
- DebugLog(string.Format("DefGradesResp errorCode={0}", errorCode));
- clientSocket.ifsfMessages.asyncResponseManager.SendResponse(requestId, errorCode == ErrorCode.ERRCD_OK.ToString() && sOverallResult == FDCPOSLibrary.OverallResult.Success.ToString());
- }
- catch (Exception ex)
- {
- DebugLog("DefGradesResp Exception! " + ex.ToString());
- }
- }
- #endregion
- #region Tanks
- public bool AddTank(int tankId, int gradeId, int capacity, int overflowLimit, int productHighLimit,
- int productLowLimit, int suctionLimit, double waterHighLimit, int temperatureHighLimit,
- int temperatureLowLimit, int leakMinimumElapsedTime, double leakVolumeTrigger)
- {
- return InternalAddTank(tankId, gradeId, null, capacity, overflowLimit, productHighLimit, productLowLimit,
- suctionLimit, waterHighLimit, temperatureHighLimit, temperatureLowLimit,
- leakMinimumElapsedTime, leakVolumeTrigger);
- }
- public bool AddTank(int tankId, int productId, int capacity, int overflowLimit, int productHighLimit,
- int productLowLimit, int suctionLimit, double waterHighLimit, int temperatureHighLimit,
- int temperatureLowLimit)
- {
- return InternalAddTank(tankId, null, productId, capacity, overflowLimit, productHighLimit, productLowLimit,
- suctionLimit, waterHighLimit, temperatureHighLimit, temperatureLowLimit,
- null, null);
- }
- private bool InternalAddTank(int tankId, int? gradeId, int? productId, int capacity, int overflowLimit, int productHighLimit, int productLowLimit, int suctionLimit, double waterHighLimit, int temperatureHighLimit, int temperatureLowLimit, int? leakMinimumElapsedTime, double? leakVolumeTrigger)
- {
- try
- {
- DebugLog("InternalAddTank init");
- ServiceRequestDefTanks SvRes = null;
- string key = "DefTanks";
- if (serviceRequestClientList.ContainsKey(key))
- SvRes = (ServiceRequestDefTanks)(serviceRequestClientList[key]);
- if (SvRes == null)
- {
- SvRes = new ServiceRequestDefTanks();
- SvRes.WorkstationID = this.clientSocket.workstationID;
- SvRes.ApplicationSender = this.clientSocket.applicationSender;
- serviceRequestClientList.Add(key, SvRes);
- }
- else
- {
- if (SvRes.RequestType != "DefTanks")
- {
- DebugLog(string.Format("SvRes.RequestType={0} != DefTanks", SvRes.RequestType));
- return false;
- }
- }
- ServiceRequestDefTanks.ServiceRequestPOSdataDefTanks POSDataElem = null;
- if (SvRes.POSdata != null)
- POSDataElem = SvRes.POSdata[0];
- else
- {
- ServiceRequestDefTanks.ServiceRequestPOSdataDefTanks[] POSDataArray = null;
- POSDataElem = new ServiceRequestDefTanks.ServiceRequestPOSdataDefTanks();
- IFSFManager.ArrayResize<ServiceRequestDefTanks.ServiceRequestPOSdataDefTanks>(ref POSDataArray, (POSDataArray != null) ? POSDataArray.Length + 1 : 1);
- POSDataArray[POSDataArray.Length - 1] = POSDataElem;
- POSDataElem.POSTimeStamp = FDCConvert.ToString(DateTime.Now);
- SvRes.POSdata = POSDataArray;
- }
- ServiceRequestDefTanks.DefTanksTank tank = null;
- if (POSDataElem.Tank != null)
- {
- foreach (ServiceRequestDefTanks.DefTanksTank tankTemp in POSDataElem.Tank)
- if (tankTemp.Id == Convert.ToString(tankId))
- tank = tankTemp;
- }
- if (tank == null && tankId > 0)
- {
- tank = new ServiceRequestDefTanks.DefTanksTank();
- tank.Id = Convert.ToString(tankId);
- if (gradeId != null)
- tank.GradeId = Convert.ToString((int)gradeId);
- if (productId != null)
- tank.ProductId = Convert.ToString((int)productId);
- tank.Capacity = Convert.ToString(capacity);
- tank.OverflowLimit = Convert.ToString(overflowLimit);
- tank.ProductHighLimit = Convert.ToString(productHighLimit);
- tank.ProductLowLimit = Convert.ToString(productLowLimit);
- tank.SuctionLimit = Convert.ToString(suctionLimit);
- tank.WaterHighLimit = FDCConvert.ToString(waterHighLimit);
- tank.TemperatureHighLimit = Convert.ToString(temperatureHighLimit);
- tank.TemperatureLowLimit = Convert.ToString(temperatureLowLimit);
- if (leakMinimumElapsedTime != null)
- tank.LeakMinimumElapsedTime = Convert.ToString((int)leakMinimumElapsedTime);
- if (leakVolumeTrigger != null)
- tank.LeakVolumeTrigger = FDCConvert.ToString((double)leakVolumeTrigger);
- ServiceRequestDefTanks.DefTanksTank[] tankArray = POSDataElem.Tank;
- IFSFManager.ArrayResize<ServiceRequestDefTanks.DefTanksTank>(ref tankArray, (tankArray != null) ? tankArray.Length + 1 : 1);
- tankArray[tankArray.Length - 1] = tank;
- POSDataElem.Tank = tankArray;
- }
- DebugLog("InternalAddTank end");
- return true;
- }
- catch (Exception ex)
- {
- DebugLog("InternalAddTank Exception! " + ex.ToString());
- }
- return false;
- }
- public bool AddTanksSend(EventHandler<Wayne.Lib.AsyncCompletedEventArgs> requestCompleted, object userToken, object src)
- {
- try
- {
- DebugLog("AddTanksSend init");
- ServiceRequestDefTanks SvRes = null;
- string key = "DefTanks";
- if (serviceRequestClientList.ContainsKey(key))
- SvRes = (ServiceRequestDefTanks)(serviceRequestClientList[key]);
- if (SvRes != null)
- {
- clientSocket.ifsfMessages.EnqueueMessage(SvRes, requestCompleted, userToken, src, true, 30000);
- serviceRequestClientList.Remove(key);
- DebugLog("AddTanksSend end");
- return true;
- }
- }
- catch (Exception ex)
- {
- DebugLog("AddTanksSend Exception! " + ex.ToString());
- }
- return false;
- }
- public void DefTanksResp(int requestId, string sOverallResult, ServiceResponseDefTanks sr)
- {
- try
- {
- string errorCode = sr.FDCdata[0].FDCStatus;
- DebugLog(string.Format("DefTanksResp errorCode={0}", errorCode));
- clientSocket.ifsfMessages.asyncResponseManager.SendResponse(requestId, errorCode == ErrorCode.ERRCD_OK.ToString() && sOverallResult == FDCPOSLibrary.OverallResult.Success.ToString());
- }
- catch (Exception ex)
- {
- DebugLog("DefTanksResp Exception! " + ex.ToString());
- }
- }
- #endregion
- #region Tank Suctions
- public bool AddTankSuction(string tankSuctionId, TankSuctionType type)
- {
- try
- {
- DebugLog("AddTankSuction init");
- ServiceRequestDefTankSuctions SvRes = null;
- string key = "DefTankSuctions";
- if (serviceRequestClientList.ContainsKey(key))
- SvRes = (ServiceRequestDefTankSuctions)(serviceRequestClientList[key]);
- if (SvRes == null)
- {
- SvRes = new ServiceRequestDefTankSuctions();
- SvRes.WorkstationID = this.clientSocket.workstationID;
- SvRes.ApplicationSender = this.clientSocket.applicationSender;
- serviceRequestClientList.Add(key, SvRes);
- }
- else
- {
- if (SvRes.RequestType != "DefTankSuctions")
- {
- DebugLog(string.Format("SvRes.RequestType={0} != DefTankSuctions", SvRes.RequestType));
- return false;
- }
- }
- ServiceRequestDefTankSuctions.ServiceRequestPOSdataDefTankSuctions POSDataElem = null;
- if (SvRes.POSdata != null)
- POSDataElem = SvRes.POSdata[0];
- else
- {
- ServiceRequestDefTankSuctions.ServiceRequestPOSdataDefTankSuctions[] POSDataArray = null;
- POSDataElem = new ServiceRequestDefTankSuctions.ServiceRequestPOSdataDefTankSuctions();
- IFSFManager.ArrayResize<ServiceRequestDefTankSuctions.ServiceRequestPOSdataDefTankSuctions>(ref POSDataArray, (POSDataArray != null) ? POSDataArray.Length + 1 : 1);
- POSDataArray[POSDataArray.Length - 1] = POSDataElem;
- POSDataElem.POSTimeStamp = FDCConvert.ToString(DateTime.Now);
- SvRes.POSdata = POSDataArray;
- }
- ServiceRequestDefTankSuctions.DefTankSuctionsTankSuction tankSuction = null;
- if (POSDataElem.TankSuction != null)
- {
- foreach (ServiceRequestDefTankSuctions.DefTankSuctionsTankSuction tankSuctionTemp in POSDataElem.TankSuction)
- if (tankSuctionTemp.Id == tankSuctionId)
- tankSuction = tankSuctionTemp;
- }
- if (tankSuction == null && !string.IsNullOrEmpty(tankSuctionId))
- {
- tankSuction = new ServiceRequestDefTankSuctions.DefTankSuctionsTankSuction();
- tankSuction.Id = tankSuctionId;
- tankSuction.Type = Convert.ToString(type);
- ServiceRequestDefTankSuctions.DefTankSuctionsTankSuction[] tankSuctionArray = POSDataElem.TankSuction;
- IFSFManager.ArrayResize<ServiceRequestDefTankSuctions.DefTankSuctionsTankSuction>(ref tankSuctionArray, (tankSuctionArray != null) ? tankSuctionArray.Length + 1 : 1);
- tankSuctionArray[tankSuctionArray.Length - 1] = tankSuction;
- POSDataElem.TankSuction = tankSuctionArray;
- }
- DebugLog("AddTankSuction end");
- return true;
- }
- catch (Exception ex)
- {
- DebugLog("AddTankSuction Exception! " + ex.ToString());
- }
- return false;
- }
- public bool AddTankSuctionTank(string tankSuctionId, int tankId)
- {
- try
- {
- DebugLog("AddTankSuctionTank init");
- ServiceRequestDefTankSuctions SvRes = null;
- string key = "DefTankSuctions";
- if (serviceRequestClientList.ContainsKey(key))
- SvRes = (ServiceRequestDefTankSuctions)(serviceRequestClientList[key]);
- if (SvRes == null)
- {
- DebugLog("RequestType DefTankSuctions NOT found!!! return FALSE");
- return false;
- }
- ServiceRequestDefTankSuctions.ServiceRequestPOSdataDefTankSuctions POSDataElem = null;
- if (SvRes.POSdata != null)
- POSDataElem = SvRes.POSdata[0];
- else
- {
- ServiceRequestDefTankSuctions.ServiceRequestPOSdataDefTankSuctions[] POSDataArray = null;
- POSDataElem = new ServiceRequestDefTankSuctions.ServiceRequestPOSdataDefTankSuctions();
- IFSFManager.ArrayResize<ServiceRequestDefTankSuctions.ServiceRequestPOSdataDefTankSuctions>(ref POSDataArray, (POSDataArray != null) ? POSDataArray.Length + 1 : 1);
- POSDataArray[POSDataArray.Length - 1] = POSDataElem;
- POSDataElem.POSTimeStamp = FDCConvert.ToString(DateTime.Now);
- SvRes.POSdata = POSDataArray;
- }
- ServiceRequestDefTankSuctions.DefTankSuctionsTankSuction tankSuction = null;
- if (POSDataElem.TankSuction != null)
- {
- foreach (ServiceRequestDefTankSuctions.DefTankSuctionsTankSuction tankSuctionTemp in POSDataElem.TankSuction)
- if (tankSuctionTemp.Id == tankSuctionId)
- tankSuction = tankSuctionTemp;
- }
- if (tankSuction == null && !string.IsNullOrEmpty(tankSuctionId))
- {
- DebugLog(string.Format("tank suction id={0} NOT found!!! return FALSE", tankSuctionId));
- return false;
- }
- else
- {
- ServiceRequestDefTankSuctions.DefTankSuctionsTank tank = null;
- if (tankSuction.Tank != null)
- {
- foreach (ServiceRequestDefTankSuctions.DefTankSuctionsTank tankTemp in tankSuction.Tank)
- if (tankTemp.Id == Convert.ToString(tankId))
- tank = tankTemp;
- }
- if (tank == null)
- {
- tank = new ServiceRequestDefTankSuctions.DefTankSuctionsTank();
- tank.Id = Convert.ToString(tankId);
- ServiceRequestDefTankSuctions.DefTankSuctionsTank[] tankArray = tankSuction.Tank;
- IFSFManager.ArrayResize<ServiceRequestDefTankSuctions.DefTankSuctionsTank>(ref tankArray, (tankArray != null) ? tankArray.Length + 1 : 1);
- tankArray[tankArray.Length - 1] = tank;
- tankSuction.Tank = tankArray;
- }
- }
- DebugLog("AddTankSuctionTank end");
- return true;
- }
- catch (Exception ex)
- {
- DebugLog("AddTankSuctionTank Exception! " + ex.ToString());
- }
- return false;
- }
- public bool AddTankSuctionsSend(EventHandler<Wayne.Lib.AsyncCompletedEventArgs> requestCompleted, object userToken, object src)
- {
- try
- {
- DebugLog("AddTankSuctionsSend init");
- ServiceRequestDefTankSuctions SvRes = null;
- string key = "DefTankSuctions";
- if (serviceRequestClientList.ContainsKey(key))
- SvRes = (ServiceRequestDefTankSuctions)(serviceRequestClientList[key]);
- if (SvRes != null)
- {
- clientSocket.ifsfMessages.EnqueueMessage(SvRes, requestCompleted, userToken, src, true, 30000);
- serviceRequestClientList.Remove(key);
- DebugLog("AddTankSuctionsSend end");
- return true;
- }
- }
- catch (Exception ex)
- {
- DebugLog("AddTankSuctionsSend Exception! " + ex.ToString());
- }
- return false;
- }
- public void DefTankSuctionsResp(int requestId, string sOverallResult, ServiceResponseDefTankSuctions sr)
- {
- try
- {
- string errorCode = sr.FDCdata[0].FDCStatus;
- DebugLog(string.Format("DefTankSuctionsResp errorCode={0}", errorCode));
- clientSocket.ifsfMessages.asyncResponseManager.SendResponse(requestId, errorCode == ErrorCode.ERRCD_OK.ToString() && sOverallResult == FDCPOSLibrary.OverallResult.Success.ToString());
- }
- catch (Exception ex)
- {
- DebugLog("DefTankSuctionsResp Exception! " + ex.ToString());
- }
- }
- #endregion
- #region Fuel modes for fuel points
- public bool AddFuelMode(int id, string name, int authType, int maxAuthTime, int nozzleLayDownTime, int minGuardTime, int paymentType, double minVolume, double minMoney, int SupTransBufSize)
- {
- try
- {
- DebugLog("AddFuelMode init");
- ServiceRequestDefFuelMode SvRes = null;
- string key = "DefFuelMode";
- if (serviceRequestClientList.ContainsKey(key))
- SvRes = (ServiceRequestDefFuelMode)(serviceRequestClientList[key]);
- if (SvRes == null)
- {
- SvRes = new ServiceRequestDefFuelMode();
- SvRes.WorkstationID = this.clientSocket.workstationID;
- SvRes.ApplicationSender = this.clientSocket.applicationSender;
- serviceRequestClientList.Add(key, SvRes);
- }
- else
- {
- if (SvRes.RequestType != "DefFuelMode" && SvRes.RequestType != "DefFPFuelModes")
- {
- DebugLog(string.Format("SvRes.RequestType={0} != DefFuelMode", SvRes.RequestType));
- return false;
- }
- }
- ServiceRequestDefFuelMode.ServiceRequestPOSdataDefFuelMode POSDataElem = null;
- if (SvRes.POSdata != null)
- POSDataElem = SvRes.POSdata[0];
- else
- {
- ServiceRequestDefFuelMode.ServiceRequestPOSdataDefFuelMode[] POSDataArray = null;
- POSDataElem = new ServiceRequestDefFuelMode.ServiceRequestPOSdataDefFuelMode();
- IFSFManager.ArrayResize<ServiceRequestDefFuelMode.ServiceRequestPOSdataDefFuelMode>(ref POSDataArray, (POSDataArray != null) ? POSDataArray.Length + 1 : 1);
- POSDataArray[POSDataArray.Length - 1] = POSDataElem;
- POSDataElem.POSTimeStamp = FDCConvert.ToString(DateTime.Now);
- SvRes.POSdata = POSDataArray;
- }
- ServiceRequestDefFuelMode.DefFuelModeFuelMode fuelMode = null;
- if (POSDataElem.FuelMode != null)
- {
- foreach (ServiceRequestDefFuelMode.DefFuelModeFuelMode fuelModeTemp in POSDataElem.FuelMode)
- if (fuelModeTemp.Id == Convert.ToString(id))
- fuelMode = fuelModeTemp;
- }
- if (fuelMode == null && id > 0)
- {
- fuelMode = new ServiceRequestDefFuelMode.DefFuelModeFuelMode();
- fuelMode.Id = Convert.ToString(id);
- fuelMode.MaxAuthTime = Convert.ToString(maxAuthTime);
- fuelMode.MinGuardTime = Convert.ToString(minGuardTime);
- fuelMode.MinMoney = Convert.ToString(minMoney);
- fuelMode.MinVolume = Convert.ToString(minVolume);
- fuelMode.Name = Convert.ToString(name);
- fuelMode.NozzleLayDownTime = Convert.ToString(nozzleLayDownTime);
- fuelMode.PaymentType = Convert.ToString(paymentType);
- fuelMode.SupTransBufSize = Convert.ToString(SupTransBufSize);
- fuelMode.AuthType = Convert.ToString(authType);
- ServiceRequestDefFuelMode.DefFuelModeFuelMode[] fuelModeArray = POSDataElem.FuelMode;
- IFSFManager.ArrayResize<ServiceRequestDefFuelMode.DefFuelModeFuelMode>(ref fuelModeArray, (fuelModeArray != null) ? fuelModeArray.Length + 1 : 1);
- fuelModeArray[fuelModeArray.Length - 1] = fuelMode;
- POSDataElem.FuelMode = fuelModeArray;
- }
- DebugLog("AddFuelMode end");
- return true;
- }
- catch (Exception ex)
- {
- DebugLog("AddFuelMode Exception! " + ex.ToString());
- }
- return false;
- }
- public bool AddFuelModeSend(EventHandler<Wayne.Lib.AsyncCompletedEventArgs> requestCompleted, object userToken, object src)
- {
- try
- {
- DebugLog("AddFuelModeSend init");
- ServiceRequestDefFuelMode SvRes = null;
- string key = "DefFuelMode";
- if (serviceRequestClientList.ContainsKey(key))
- SvRes = (ServiceRequestDefFuelMode)(serviceRequestClientList[key]);
- if (SvRes != null)
- {
- clientSocket.ifsfMessages.EnqueueMessage(SvRes, requestCompleted, userToken, src, true, 30000);
- serviceRequestClientList.Remove(key);
- DebugLog("AddFuelModeSend end");
- return true;
- }
- }
- catch (Exception ex)
- {
- DebugLog("AddFuelModeSend Exception! " + ex.ToString());
- }
- return false;
- }
- public void DefFuelModeResp(int requestId, string sOverallResult, ServiceResponseDefFuelMode sr)
- {
- try
- {
- string errorCode = sr.FDCdata[0].FDCStatus;
- DebugLog(string.Format("DefFuelModeResp errorCode={0}", errorCode));
- clientSocket.ifsfMessages.asyncResponseManager.SendResponse(requestId, errorCode == ErrorCode.ERRCD_OK.ToString() && sOverallResult == FDCPOSLibrary.OverallResult.Success.ToString());
- }
- catch (Exception ex)
- {
- DebugLog("DefFuelModeResp Exception! " + ex.ToString());
- }
- }
- #endregion
- #region Forecourt fuel mode
- public bool AddFCFuelMode(int fuellingType, double maxVolume, double maxMoney, int maxFuellingTime,
- int maxTimeNoProgress, int maxTimeToMinLimit, int presetOverrunLimit,
- int volumeDecimals, int amountDecimals, int priceDecimals)
- {
- try
- {
- DebugLog("AddFCFuelMode init");
- ServiceRequestDefFuellingMode SvRes = null;
- string key = "DefFuellingMode";
- if (serviceRequestClientList.ContainsKey(key))
- SvRes = (ServiceRequestDefFuellingMode)(serviceRequestClientList[key]);
- if (SvRes == null)
- {
- SvRes = new ServiceRequestDefFuellingMode();
- SvRes.WorkstationID = this.clientSocket.workstationID;
- SvRes.ApplicationSender = this.clientSocket.applicationSender;
- serviceRequestClientList.Add(key, SvRes);
- }
- else
- {
- if (SvRes.RequestType != "DefFuellingMode" && SvRes.RequestType != "DefFCFuelMode")
- {
- DebugLog(string.Format("SvRes.RequestType={0} != DefFuellingMode", SvRes.RequestType));
- return false;
- }
- }
- ServiceRequestDefFuellingMode.ServiceRequestPOSdataDefFuellingMode POSDataElem = null;
- if (SvRes.POSdata != null)
- POSDataElem = SvRes.POSdata[0];
- else
- {
- ServiceRequestDefFuellingMode.ServiceRequestPOSdataDefFuellingMode[] POSDataArray = null;
- POSDataElem = new ServiceRequestDefFuellingMode.ServiceRequestPOSdataDefFuellingMode();
- IFSFManager.ArrayResize<ServiceRequestDefFuellingMode.ServiceRequestPOSdataDefFuellingMode>(ref POSDataArray, (POSDataArray != null) ? POSDataArray.Length + 1 : 1);
- POSDataArray[POSDataArray.Length - 1] = POSDataElem;
- POSDataElem.POSTimeStamp = FDCConvert.ToString(DateTime.Now);
- SvRes.POSdata = POSDataArray;
- }
- POSDataElem.FuellingType = Convert.ToString(fuellingType);
- POSDataElem.MaxVolume = Convert.ToString(maxVolume);
- POSDataElem.MaxMoney = Convert.ToString(maxMoney);
- POSDataElem.MaxFuellingTime = Convert.ToString(maxFuellingTime);
- POSDataElem.MaxTimeNoProgress = Convert.ToString(maxTimeNoProgress);
- POSDataElem.MaxTimeToMinLimit = Convert.ToString(maxTimeToMinLimit);
- POSDataElem.PresetOverrunLimit = Convert.ToString(presetOverrunLimit);
- POSDataElem.VolumeDecimals = Convert.ToString(volumeDecimals);
- POSDataElem.AmountDecimals = Convert.ToString(amountDecimals);
- POSDataElem.PriceDecimals = Convert.ToString(priceDecimals);
- DebugLog("AddFCFuelMode end");
- return true;
- }
- catch (Exception ex)
- {
- DebugLog("AddFCFuelMode Exception! " + ex.ToString());
- }
- return false;
- }
- public bool AddFCFuelModeSend(EventHandler<Wayne.Lib.AsyncCompletedEventArgs> requestCompleted, object userToken, object src)
- {
- try
- {
- DebugLog("AddFCFuelModeSend init");
- ServiceRequestDefFuellingMode SvRes = null;
- string key = "DefFuellingMode";
- if (serviceRequestClientList.ContainsKey(key))
- SvRes = (ServiceRequestDefFuellingMode)(serviceRequestClientList[key]);
- if (SvRes != null)
- {
- clientSocket.ifsfMessages.EnqueueMessage(SvRes, requestCompleted, userToken, src, true, 30000);
- serviceRequestClientList.Remove(key);
- DebugLog("AddFCFuelModeSend end");
- return true;
- }
- }
- catch (Exception ex)
- {
- DebugLog("AddFCFuelModeSend Exception! " + ex.ToString());
- }
- return false;
- }
- public void DefFuellingModeResp(int requestId, string sOverallResult, ServiceResponseDefFuellingMode sr)
- {
- try
- {
- string errorCode = sr.FDCdata[0].FDCStatus;
- DebugLog(string.Format("DefFuellingModeResp errorCode={0}", errorCode));
- clientSocket.ifsfMessages.asyncResponseManager.SendResponse(requestId, errorCode == ErrorCode.ERRCD_OK.ToString() && sOverallResult == FDCPOSLibrary.OverallResult.Success.ToString());
- }
- catch (Exception ex)
- {
- DebugLog("DefFuellingModeResp Exception! " + ex.ToString());
- }
- }
- #endregion
- #region Fuel points
- public bool AddFuelPoint(int id, int pumpType, string comChannelId, string IPAddress, int IPPort, int physicalAddress, int internalAddress)
- {
- try
- {
- DebugLog("AddFuelPoint init");
- ServiceRequestDefFuelPoint SvRes = null;
- string key = "DefFuelPoint";
- if (serviceRequestClientList.ContainsKey(key))
- SvRes = (ServiceRequestDefFuelPoint)(serviceRequestClientList[key]);
- if (SvRes == null)
- {
- SvRes = new ServiceRequestDefFuelPoint();
- SvRes.WorkstationID = this.clientSocket.workstationID;
- SvRes.ApplicationSender = this.clientSocket.applicationSender;
- serviceRequestClientList.Add(key, SvRes);
- }
- else
- {
- if (SvRes.RequestType != "DefFuelPoint")
- {
- DebugLog(string.Format("SvRes.RequestType={0} != DefFuelPoint", SvRes.RequestType));
- return false;
- }
- }
- ServiceRequestDefFuelPoint.ServiceRequestPOSdataDefFuelPoint POSDataElem = null;
- if (SvRes.POSdata != null)
- POSDataElem = SvRes.POSdata[0];
- else
- {
- ServiceRequestDefFuelPoint.ServiceRequestPOSdataDefFuelPoint[] POSDataArray = null;
- POSDataElem = new ServiceRequestDefFuelPoint.ServiceRequestPOSdataDefFuelPoint();
- IFSFManager.ArrayResize<ServiceRequestDefFuelPoint.ServiceRequestPOSdataDefFuelPoint>(ref POSDataArray, (POSDataArray != null) ? POSDataArray.Length + 1 : 1);
- POSDataArray[POSDataArray.Length - 1] = POSDataElem;
- POSDataElem.POSTimeStamp = FDCConvert.ToString(DateTime.Now);
- SvRes.POSdata = POSDataArray;
- }
- ServiceRequestDefFuelPoint.DefFuelPointFuelPoint fuelpoint = null;
- if (POSDataElem.FuelPoint != null)
- {
- foreach (ServiceRequestDefFuelPoint.DefFuelPointFuelPoint fuelpointTemp in POSDataElem.FuelPoint)
- if (fuelpointTemp.Id == Convert.ToString(id))
- fuelpoint = fuelpointTemp;
- }
- if (fuelpoint == null && id > 0)
- {
- fuelpoint = new ServiceRequestDefFuelPoint.DefFuelPointFuelPoint();
- fuelpoint.Id = Convert.ToString(id);
- fuelpoint.ComChannelId = comChannelId;
- fuelpoint.InternalAddress = Convert.ToString(internalAddress);
- fuelpoint.IPAddress = IPAddress;
- fuelpoint.IPPort = Convert.ToString(IPPort);
- fuelpoint.PhysicalAddress = Convert.ToString(physicalAddress);
- fuelpoint.PumpType = Convert.ToString(pumpType);
- ServiceRequestDefFuelPoint.DefFuelPointFuelPoint[] fuelpointArray = POSDataElem.FuelPoint;
- IFSFManager.ArrayResize<ServiceRequestDefFuelPoint.DefFuelPointFuelPoint>(ref fuelpointArray, (fuelpointArray != null) ? fuelpointArray.Length + 1 : 1);
- fuelpointArray[fuelpointArray.Length - 1] = fuelpoint;
- POSDataElem.FuelPoint = fuelpointArray;
- }
- DebugLog("AddFuelPoint end");
- return true;
- }
- catch (Exception ex)
- {
- DebugLog("AddFuelPoint Exception! " + ex.ToString());
- }
- return false;
- }
- public bool AddFuelPoint(int id, int pumpProtocol, int pumpType, string comChannelId, string IPAddress,
- int IPPort, int baudRate, int physicalAddress, int internalAddress)
- {
- try
- {
- DebugLog("AddFuelPoint init");
- ServiceRequestDefFuelPoints SvRes = null;
- string key = "DefFuelPoints";
- if (serviceRequestClientList.ContainsKey(key))
- SvRes = (ServiceRequestDefFuelPoints)(serviceRequestClientList[key]);
- if (SvRes == null)
- {
- SvRes = new ServiceRequestDefFuelPoints();
- SvRes.WorkstationID = this.clientSocket.workstationID;
- SvRes.ApplicationSender = this.clientSocket.applicationSender;
- serviceRequestClientList.Add(key, SvRes);
- }
- else
- {
- if (SvRes.RequestType != "DefFuelPoints")
- {
- DebugLog(string.Format("SvRes.RequestType={0} != DefFuelPoints", SvRes.RequestType));
- return false;
- }
- }
- ServiceRequestDefFuelPoints.ServiceRequestPOSdataDefFuelPoints POSDataElem = null;
- if (SvRes.POSdata != null)
- POSDataElem = SvRes.POSdata[0];
- else
- {
- ServiceRequestDefFuelPoints.ServiceRequestPOSdataDefFuelPoints[] POSDataArray = null;
- POSDataElem = new ServiceRequestDefFuelPoints.ServiceRequestPOSdataDefFuelPoints();
- IFSFManager.ArrayResize<ServiceRequestDefFuelPoints.ServiceRequestPOSdataDefFuelPoints>(ref POSDataArray, (POSDataArray != null) ? POSDataArray.Length + 1 : 1);
- POSDataArray[POSDataArray.Length - 1] = POSDataElem;
- POSDataElem.POSTimeStamp = FDCConvert.ToString(DateTime.Now);
- SvRes.POSdata = POSDataArray;
- }
- ServiceRequestDefFuelPoints.DefFuelPointsFuelPoint fuelpoint = null;
- if (POSDataElem.FuelPoint != null)
- {
- foreach (ServiceRequestDefFuelPoints.DefFuelPointsFuelPoint fuelpointTemp in POSDataElem.FuelPoint)
- if (fuelpointTemp.Id == Convert.ToString(id))
- fuelpoint = fuelpointTemp;
- }
- if (fuelpoint == null && id > 0)
- {
- fuelpoint = new ServiceRequestDefFuelPoints.DefFuelPointsFuelPoint();
- fuelpoint.Id = Convert.ToString(id);
- fuelpoint.PumpProtocol = Convert.ToString(pumpProtocol);
- fuelpoint.PumpType = Convert.ToString(pumpType);
- fuelpoint.ComChannelId = comChannelId;
- fuelpoint.IPAddress = IPAddress;
- fuelpoint.IPPort = Convert.ToString(IPPort);
- fuelpoint.BaudRate = Convert.ToString(baudRate);
- fuelpoint.PhysicalAddress = Convert.ToString(physicalAddress);
- fuelpoint.InternalAddress = Convert.ToString(internalAddress);
- ServiceRequestDefFuelPoints.DefFuelPointsFuelPoint[] fuelpointArray = POSDataElem.FuelPoint;
- IFSFManager.ArrayResize<ServiceRequestDefFuelPoints.DefFuelPointsFuelPoint>(ref fuelpointArray, (fuelpointArray != null) ? fuelpointArray.Length + 1 : 1);
- fuelpointArray[fuelpointArray.Length - 1] = fuelpoint;
- POSDataElem.FuelPoint = fuelpointArray;
- }
- DebugLog("AddFuelPoint end");
- return true;
- }
- catch (Exception ex)
- {
- DebugLog("AddFuelPoint Exception! " + ex.ToString());
- }
- return false;
- }
- public bool AddNozzle(int pumpId, int nozzleId)
- {
- try
- {
- DebugLog("AddNozzle init");
- ServiceRequestDefFuelPoint SvRes = null;
- string key = "DefFuelPoint";
- if (serviceRequestClientList.ContainsKey(key))
- SvRes = (ServiceRequestDefFuelPoint)(serviceRequestClientList[key]);
- if (SvRes == null)
- {
- DebugLog("RequestType DefFuelPoint NOT found!!! return FALSE");
- return false;
- }
- ServiceRequestDefFuelPoint.ServiceRequestPOSdataDefFuelPoint POSDataElem = null;
- if (SvRes.POSdata != null)
- POSDataElem = SvRes.POSdata[0];
- else
- {
- ServiceRequestDefFuelPoint.ServiceRequestPOSdataDefFuelPoint[] POSDataArray = null;
- POSDataElem = new ServiceRequestDefFuelPoint.ServiceRequestPOSdataDefFuelPoint();
- IFSFManager.ArrayResize<ServiceRequestDefFuelPoint.ServiceRequestPOSdataDefFuelPoint>(ref POSDataArray, (POSDataArray != null) ? POSDataArray.Length + 1 : 1);
- POSDataArray[POSDataArray.Length - 1] = POSDataElem;
- POSDataElem.POSTimeStamp = FDCConvert.ToString(DateTime.Now);
- SvRes.POSdata = POSDataArray;
- }
- ServiceRequestDefFuelPoint.DefFuelPointFuelPoint fuelpoint = null;
- if (POSDataElem.FuelPoint != null)
- {
- foreach (ServiceRequestDefFuelPoint.DefFuelPointFuelPoint fuelpointTemp in POSDataElem.FuelPoint)
- if (fuelpointTemp.Id == Convert.ToString(pumpId))
- fuelpoint = fuelpointTemp;
- }
- if (fuelpoint == null && pumpId > 0)
- {
- DebugLog(string.Format("fuel point id={0} NOT found!!! return FALSE", pumpId));
- return false;
- }
- else
- {
- ServiceRequestDefFuelPoint.DefFuelPointFuelPointNozzle nozzle = null;
- if (fuelpoint.Nozzle != null)
- {
- foreach (ServiceRequestDefFuelPoint.DefFuelPointFuelPointNozzle nozzleTemp in fuelpoint.Nozzle)
- if (nozzleTemp.Id == Convert.ToString(nozzleId))
- nozzle = nozzleTemp;
- }
- if (nozzle == null)
- {
- nozzle = new ServiceRequestDefFuelPoint.DefFuelPointFuelPointNozzle();
- nozzle.Id = Convert.ToString(nozzleId);
- ServiceRequestDefFuelPoint.DefFuelPointFuelPointNozzle[] nozzleArray = fuelpoint.Nozzle;
- IFSFManager.ArrayResize<ServiceRequestDefFuelPoint.DefFuelPointFuelPointNozzle>(ref nozzleArray, (nozzleArray != null) ? nozzleArray.Length + 1 : 1);
- nozzleArray[nozzleArray.Length - 1] = nozzle;
- fuelpoint.Nozzle = nozzleArray;
- }
- }
- DebugLog("AddNozzle end");
- return true;
- }
- catch (Exception ex)
- {
- DebugLog("AddNozzle Exception! " + ex.ToString());
- }
- return false;
- }
- public bool AddNozzle(int pumpId, int nozzleId, int gradeId, string tankSuctionId)
- {
- return AddNozzle(pumpId, nozzleId, gradeId, tankSuctionId, null);
- }
- public bool AddNozzle(int pumpId, int nozzleId, int gradeId, string tankSuctionHighId, string tankSuctionLowId)
- {
- try
- {
- DebugLog("AddNozzle init");
- ServiceRequestDefFuelPoints SvRes = null;
- string key = "DefFuelPoints";
- if (serviceRequestClientList.ContainsKey(key))
- SvRes = (ServiceRequestDefFuelPoints)(serviceRequestClientList[key]);
- if (SvRes == null)
- {
- DebugLog("RequestType DefFuelPoints NOT found!!! return FALSE");
- return false;
- }
- ServiceRequestDefFuelPoints.ServiceRequestPOSdataDefFuelPoints POSDataElem = null;
- if (SvRes.POSdata != null)
- POSDataElem = SvRes.POSdata[0];
- else
- {
- ServiceRequestDefFuelPoints.ServiceRequestPOSdataDefFuelPoints[] POSDataArray = null;
- POSDataElem = new ServiceRequestDefFuelPoints.ServiceRequestPOSdataDefFuelPoints();
- IFSFManager.ArrayResize<ServiceRequestDefFuelPoints.ServiceRequestPOSdataDefFuelPoints>(ref POSDataArray, (POSDataArray != null) ? POSDataArray.Length + 1 : 1);
- POSDataArray[POSDataArray.Length - 1] = POSDataElem;
- SvRes.POSdata = POSDataArray;
- }
- ServiceRequestDefFuelPoints.DefFuelPointsFuelPoint fuelpoint = null;
- if (POSDataElem.FuelPoint != null)
- {
- foreach (ServiceRequestDefFuelPoints.DefFuelPointsFuelPoint fuelpointTemp in POSDataElem.FuelPoint)
- if (fuelpointTemp.Id == Convert.ToString(pumpId))
- fuelpoint = fuelpointTemp;
- }
- if (fuelpoint == null && pumpId > 0)
- {
- DebugLog(string.Format("fuel point id={0} NOT found!!! return FALSE", pumpId));
- return false;
- }
- else
- {
- ServiceRequestDefFuelPoints.DefFuelPointsFuelPointNozzle nozzle = null;
- if (fuelpoint.Nozzle != null)
- {
- foreach (ServiceRequestDefFuelPoints.DefFuelPointsFuelPointNozzle nozzleTemp in fuelpoint.Nozzle)
- if (nozzleTemp.Id == Convert.ToString(nozzleId))
- nozzle = nozzleTemp;
- }
- if (nozzle == null)
- {
- nozzle = new ServiceRequestDefFuelPoints.DefFuelPointsFuelPointNozzle();
- nozzle.Id = Convert.ToString(nozzleId);
- nozzle.GradeId = Convert.ToString(gradeId);
- nozzle.TankSuctionId = tankSuctionHighId;
- if (!string.IsNullOrEmpty(tankSuctionLowId))
- nozzle.TankSuctionLowId = tankSuctionLowId;
- ServiceRequestDefFuelPoints.DefFuelPointsFuelPointNozzle[] nozzleArray = fuelpoint.Nozzle;
- IFSFManager.ArrayResize<ServiceRequestDefFuelPoints.DefFuelPointsFuelPointNozzle>(ref nozzleArray, (nozzleArray != null) ? nozzleArray.Length + 1 : 1);
- nozzleArray[nozzleArray.Length - 1] = nozzle;
- fuelpoint.Nozzle = nozzleArray;
- }
- }
- DebugLog("AddNozzle end");
- return true;
- }
- catch (Exception ex)
- {
- DebugLog("AddNozzle Exception! " + ex.ToString());
- }
- return false;
- }
- public bool AddFuelPointsSend(EventHandler<Wayne.Lib.AsyncCompletedEventArgs> requestCompleted, object userToken, object src)
- {
- try
- {
- DebugLog("AddFuelPointsSend init");
- ServiceRequestDefFuelPoints SvRes = null;
- string key = "DefFuelPoints";
- if (serviceRequestClientList.ContainsKey(key))
- SvRes = (ServiceRequestDefFuelPoints)(serviceRequestClientList[key]);
- if (SvRes != null)
- {
- clientSocket.ifsfMessages.EnqueueMessage(SvRes, requestCompleted, userToken, src, true, 30000);
- serviceRequestClientList.Remove(key);
- DebugLog("AddFuelPointsSend end");
- return true;
- }
- }
- catch (Exception ex)
- {
- DebugLog("AddFuelPointsSend Exception! " + ex.ToString());
- }
- return false;
- }
- public void DefFuelPointsResp(int requestId, string sOverallResult, ServiceResponseDefFuelPoints sr)
- {
- try
- {
- string errorCode = sr.FDCdata[0].FDCStatus;
- DebugLog(string.Format("DefFuelPointsResp errorCode={0}", errorCode));
- clientSocket.ifsfMessages.asyncResponseManager.SendResponse(requestId, errorCode == ErrorCode.ERRCD_OK.ToString() && sOverallResult == FDCPOSLibrary.OverallResult.Success.ToString());
- }
- catch (Exception ex)
- {
- DebugLog("DefFuelPointsResp Exception! " + ex.ToString());
- }
- }
- #endregion
- #region Assign grades to nozzles
- public bool AssignGrade(int pumpId, int nozzleId, int gradeId)
- {
- try
- {
- DebugLog("AssignGrade init");
- ServiceRequestAssignGrades SvRes = null;
- string key = "AssignGrades";
- if (serviceRequestClientList.ContainsKey(key))
- SvRes = (ServiceRequestAssignGrades)(serviceRequestClientList[key]);
- if (SvRes == null)
- {
- SvRes = new ServiceRequestAssignGrades();
- SvRes.WorkstationID = this.clientSocket.workstationID;
- SvRes.ApplicationSender = this.clientSocket.applicationSender;
- serviceRequestClientList.Add(key, SvRes);
- }
- else
- {
- if (SvRes.RequestType != "AssignGrades")
- {
- DebugLog(string.Format("SvRes.RequestType={0} != AssignGrades", SvRes.RequestType));
- return false;
- }
- }
- ServiceRequestAssignGrades.ServiceRequestPOSdataAssignGrades POSDataElem = null;
- if (SvRes.POSdata != null)
- POSDataElem = SvRes.POSdata[0];
- else
- {
- ServiceRequestAssignGrades.ServiceRequestPOSdataAssignGrades[] POSDataArray = null;
- POSDataElem = new ServiceRequestAssignGrades.ServiceRequestPOSdataAssignGrades();
- IFSFManager.ArrayResize<ServiceRequestAssignGrades.ServiceRequestPOSdataAssignGrades>(ref POSDataArray, (POSDataArray != null) ? POSDataArray.Length + 1 : 1);
- POSDataArray[POSDataArray.Length - 1] = POSDataElem;
- POSDataElem.POSTimeStamp = FDCConvert.ToString(DateTime.Now);
- SvRes.POSdata = POSDataArray;
- }
- ServiceRequestAssignGrades.AssignGradesFuelPoint gradeFP = null;
- if (POSDataElem.FuelPoint != null)
- {
- foreach (ServiceRequestAssignGrades.AssignGradesFuelPoint gradeFPTemp in POSDataElem.FuelPoint)
- if (gradeFPTemp.Id == Convert.ToString(pumpId))
- gradeFP = gradeFPTemp;
- }
- if (gradeFP == null && pumpId > 0)
- {
- gradeFP = new ServiceRequestAssignGrades.AssignGradesFuelPoint();
- gradeFP.Id = Convert.ToString(pumpId);
- ServiceRequestAssignGrades.AssignGradesFuelPoint[] gradeFPArray = POSDataElem.FuelPoint;
- IFSFManager.ArrayResize<ServiceRequestAssignGrades.AssignGradesFuelPoint>(ref gradeFPArray, (gradeFPArray != null) ? gradeFPArray.Length + 1 : 1);
- gradeFPArray[gradeFPArray.Length - 1] = gradeFP;
- POSDataElem.FuelPoint = gradeFPArray;
- }
- ServiceRequestAssignGrades.AssignGradesFuelPointNozzle gradeNozzle = null;
- if (gradeFP.Nozzle != null)
- {
- foreach (ServiceRequestAssignGrades.AssignGradesFuelPointNozzle gradeNozzleTemp in gradeFP.Nozzle)
- if (gradeNozzleTemp.Id == Convert.ToString(nozzleId))
- gradeNozzle = gradeNozzleTemp;
- }
- if (gradeNozzle == null && nozzleId > 0)
- {
- gradeNozzle = new ServiceRequestAssignGrades.AssignGradesFuelPointNozzle();
- gradeNozzle.Id = Convert.ToString(nozzleId);
- gradeNozzle.GradeId = Convert.ToString(gradeId);
- ServiceRequestAssignGrades.AssignGradesFuelPointNozzle[] gradeNozzleArray = gradeFP.Nozzle;
- IFSFManager.ArrayResize<ServiceRequestAssignGrades.AssignGradesFuelPointNozzle>(ref gradeNozzleArray, (gradeNozzleArray != null) ? gradeNozzleArray.Length + 1 : 1);
- gradeNozzleArray[gradeNozzleArray.Length - 1] = gradeNozzle;
- gradeFP.Nozzle = gradeNozzleArray;
- }
- DebugLog("AssignGrade end");
- return true;
- }
- catch (Exception ex)
- {
- DebugLog("AssignGrade Exception! " + ex.ToString());
- }
- return false;
- }
- public bool AssignGradesSend(EventHandler<Wayne.Lib.AsyncCompletedEventArgs> requestCompleted, object userToken, object src)
- {
- try
- {
- DebugLog("AssignGradesSend init");
- ServiceRequestAssignGrades SvRes = null;
- string key = "AssignGrades";
- if (serviceRequestClientList.ContainsKey(key))
- SvRes = (ServiceRequestAssignGrades)(serviceRequestClientList[key]);
- if (SvRes != null)
- {
- clientSocket.ifsfMessages.EnqueueMessage(SvRes, requestCompleted, userToken, src, true, 30000);
- serviceRequestClientList.Remove(key);
- DebugLog("AssignGradesSend end");
- return true;
- }
- }
- catch (Exception ex)
- {
- DebugLog("AssignGradesSend Exception! " + ex.ToString());
- }
- return false;
- }
- #endregion
- #region Assign meters to fuel points
- public bool AssignMeter(int pumpId, int gradeId, int meterId, int part)
- {
- try
- {
- DebugLog("AssignMeter init");
- ServiceRequestAssignMeters SvRes = null;
- string key = "AssignMeters";
- if (serviceRequestClientList.ContainsKey(key))
- SvRes = (ServiceRequestAssignMeters)(serviceRequestClientList[key]);
- if (SvRes == null)
- {
- SvRes = new ServiceRequestAssignMeters();
- SvRes.WorkstationID = this.clientSocket.workstationID;
- SvRes.ApplicationSender = this.clientSocket.applicationSender;
- serviceRequestClientList.Add(key, SvRes);
- }
- else
- {
- if (SvRes.RequestType != "AssignMeters")
- {
- DebugLog(string.Format("SvRes.RequestType={0} != AssignMeters", SvRes.RequestType));
- return false;
- }
- }
- ServiceRequestAssignMeters.ServiceRequestPOSdataAssignMeters POSDataElem = null;
- if (SvRes.POSdata != null)
- POSDataElem = SvRes.POSdata[0];
- else
- {
- ServiceRequestAssignMeters.ServiceRequestPOSdataAssignMeters[] POSDataArray = null;
- POSDataElem = new ServiceRequestAssignMeters.ServiceRequestPOSdataAssignMeters();
- IFSFManager.ArrayResize<ServiceRequestAssignMeters.ServiceRequestPOSdataAssignMeters>(ref POSDataArray, (POSDataArray != null) ? POSDataArray.Length + 1 : 1);
- POSDataArray[POSDataArray.Length - 1] = POSDataElem;
- POSDataElem.POSTimeStamp = FDCConvert.ToString(DateTime.Now);
- SvRes.POSdata = POSDataArray;
- }
- ServiceRequestAssignMeters.AssignMetersFuelPoint meterFP = null;
- if (POSDataElem.FuelPoint != null)
- {
- foreach (ServiceRequestAssignMeters.AssignMetersFuelPoint meterFPTemp in POSDataElem.FuelPoint)
- if (meterFPTemp.Id == Convert.ToString(pumpId))
- meterFP = meterFPTemp;
- }
- if (meterFP == null && pumpId > 0)
- {
- meterFP = new ServiceRequestAssignMeters.AssignMetersFuelPoint();
- meterFP.Id = Convert.ToString(pumpId);
- ServiceRequestAssignMeters.AssignMetersFuelPoint[] meterFPArray = POSDataElem.FuelPoint;
- IFSFManager.ArrayResize<ServiceRequestAssignMeters.AssignMetersFuelPoint>(ref meterFPArray, (meterFPArray != null) ? meterFPArray.Length + 1 : 1);
- meterFPArray[meterFPArray.Length - 1] = meterFP;
- POSDataElem.FuelPoint = meterFPArray;
- }
- ServiceRequestAssignMeters.AssignMetersFuelPointGradeOption gradeOption = null;
- if (meterFP.GradeOption != null)
- {
- foreach (ServiceRequestAssignMeters.AssignMetersFuelPointGradeOption gradeOptionTemp in meterFP.GradeOption)
- if (gradeOptionTemp.Id == Convert.ToString(gradeId))
- gradeOption = gradeOptionTemp;
- }
- if (gradeOption == null && gradeId > 0)
- {
- gradeOption = new ServiceRequestAssignMeters.AssignMetersFuelPointGradeOption();
- gradeOption.Id = Convert.ToString(gradeId);
- ServiceRequestAssignMeters.AssignMetersFuelPointGradeOption[] gradeOptionArray = meterFP.GradeOption;
- IFSFManager.ArrayResize<ServiceRequestAssignMeters.AssignMetersFuelPointGradeOption>(ref gradeOptionArray, (gradeOptionArray != null) ? gradeOptionArray.Length + 1 : 1);
- gradeOptionArray[gradeOptionArray.Length - 1] = gradeOption;
- meterFP.GradeOption = gradeOptionArray;
- }
- ServiceRequestAssignMeters.AssignMetersFuelPointGradeOptionMeter gradeOptionMeter = null;
- if (gradeOption.Meter != null)
- {
- foreach (ServiceRequestAssignMeters.AssignMetersFuelPointGradeOptionMeter gradeOptionMeterTemp in gradeOption.Meter)
- if (gradeOptionMeterTemp.Id == Convert.ToString(meterId))
- gradeOptionMeter = gradeOptionMeterTemp;
- }
- if (gradeOptionMeter == null && meterId > 0)
- {
- gradeOptionMeter = new ServiceRequestAssignMeters.AssignMetersFuelPointGradeOptionMeter();
- gradeOptionMeter.Id = Convert.ToString(meterId);
- gradeOptionMeter.Part = Convert.ToString(part);
- ServiceRequestAssignMeters.AssignMetersFuelPointGradeOptionMeter[] gradeOptionMeterArray = gradeOption.Meter;
- IFSFManager.ArrayResize<ServiceRequestAssignMeters.AssignMetersFuelPointGradeOptionMeter>(ref gradeOptionMeterArray, (gradeOptionMeterArray != null) ? gradeOptionMeterArray.Length + 1 : 1);
- gradeOptionMeterArray[gradeOptionMeterArray.Length - 1] = gradeOptionMeter;
- gradeOption.Meter = gradeOptionMeterArray;
- }
- DebugLog("AssignMeter end");
- return true;
- }
- catch (Exception ex)
- {
- DebugLog("AssignMeter Exception! " + ex.ToString());
- }
- return false;
- }
- public bool AssignMetersSend(EventHandler<Wayne.Lib.AsyncCompletedEventArgs> requestCompleted, object userToken, object src)
- {
- try
- {
- DebugLog("AssignMetersSend init");
- ServiceRequestAssignMeters SvRes = null;
- string key = "AssignMeters";
- if (serviceRequestClientList.ContainsKey(key))
- SvRes = (ServiceRequestAssignMeters)(serviceRequestClientList[key]);
- if (SvRes != null)
- {
- clientSocket.ifsfMessages.EnqueueMessage(SvRes, requestCompleted, userToken, src, true, 30000);
- serviceRequestClientList.Remove(key);
- DebugLog("AssignMetersSend end");
- return true;
- }
- }
- catch (Exception ex)
- {
- DebugLog("AssignMetersSend Exception! " + ex.ToString());
- }
- return false;
- }
- #endregion
- #region Assign tanks to fuel points
- public bool AssignTank(int pumpId, int meterId, int tankId)
- {
- try
- {
- DebugLog("AssignTank init");
- ServiceRequestAssignTanks SvRes = null;
- string key = "AssignTanks";
- if (serviceRequestClientList.ContainsKey(key))
- SvRes = (ServiceRequestAssignTanks)(serviceRequestClientList[key]);
- if (SvRes == null)
- {
- SvRes = new ServiceRequestAssignTanks();
- SvRes.WorkstationID = this.clientSocket.workstationID;
- SvRes.ApplicationSender = this.clientSocket.applicationSender;
- serviceRequestClientList.Add(key, SvRes);
- }
- else
- {
- if (SvRes.RequestType != "AssignTanks")
- {
- DebugLog(string.Format("SvRes.RequestType={0} != AssignTanks", SvRes.RequestType));
- return false;
- }
- }
- ServiceRequestAssignTanks.ServiceRequestPOSdataAssignTanks POSDataElem = null;
- if (SvRes.POSdata != null)
- POSDataElem = SvRes.POSdata[0];
- else
- {
- ServiceRequestAssignTanks.ServiceRequestPOSdataAssignTanks[] POSDataArray = null;
- POSDataElem = new ServiceRequestAssignTanks.ServiceRequestPOSdataAssignTanks();
- IFSFManager.ArrayResize<ServiceRequestAssignTanks.ServiceRequestPOSdataAssignTanks>(ref POSDataArray, (POSDataArray != null) ? POSDataArray.Length + 1 : 1);
- POSDataArray[POSDataArray.Length - 1] = POSDataElem;
- POSDataElem.POSTimeStamp = FDCConvert.ToString(DateTime.Now);
- SvRes.POSdata = POSDataArray;
- }
- ServiceRequestAssignTanks.AssignTanksFuelPoint tankFP = null;
- if (POSDataElem.FuelPoint != null)
- {
- foreach (ServiceRequestAssignTanks.AssignTanksFuelPoint tankFPTemp in POSDataElem.FuelPoint)
- if (tankFPTemp.Id == Convert.ToString(pumpId))
- tankFP = tankFPTemp;
- }
- if (tankFP == null && pumpId > 0)
- {
- tankFP = new ServiceRequestAssignTanks.AssignTanksFuelPoint();
- tankFP.Id = Convert.ToString(pumpId);
- ServiceRequestAssignTanks.AssignTanksFuelPoint[] tankFPArray = POSDataElem.FuelPoint;
- IFSFManager.ArrayResize<ServiceRequestAssignTanks.AssignTanksFuelPoint>(ref tankFPArray, (tankFPArray != null) ? tankFPArray.Length + 1 : 1);
- tankFPArray[tankFPArray.Length - 1] = tankFP;
- POSDataElem.FuelPoint = tankFPArray;
- }
- ServiceRequestAssignTanks.AssignTanksFuelPointMeter tankMeter = null;
- if (tankFP.Meter != null)
- {
- foreach (ServiceRequestAssignTanks.AssignTanksFuelPointMeter tankMeterTemp in tankFP.Meter)
- if (tankMeterTemp.Id == Convert.ToString(meterId))
- tankMeter = tankMeterTemp;
- }
- if (tankMeter == null && meterId > 0)
- {
- tankMeter = new ServiceRequestAssignTanks.AssignTanksFuelPointMeter();
- tankMeter.Id = Convert.ToString(meterId);
- tankMeter.Tank = Convert.ToString(tankId);
- ServiceRequestAssignTanks.AssignTanksFuelPointMeter[] tankMeterArray = tankFP.Meter;
- IFSFManager.ArrayResize<ServiceRequestAssignTanks.AssignTanksFuelPointMeter>(ref tankMeterArray, (tankMeterArray != null) ? tankMeterArray.Length + 1 : 1);
- tankMeterArray[tankMeterArray.Length - 1] = tankMeter;
- tankFP.Meter = tankMeterArray;
- }
- DebugLog("AssignTank end");
- return true;
- }
- catch (Exception ex)
- {
- DebugLog("AssignTank Exception! " + ex.ToString());
- }
- return false;
- }
- public bool AssignTanksSend(EventHandler<Wayne.Lib.AsyncCompletedEventArgs> requestCompleted, object userToken, object src)
- {
- try
- {
- DebugLog("AssignTanksSend init");
- ServiceRequestAssignTanks SvRes = null;
- string key = "AssignTanks";
- if (serviceRequestClientList.ContainsKey(key))
- SvRes = (ServiceRequestAssignTanks)(serviceRequestClientList[key]);
- if (SvRes != null)
- {
- clientSocket.ifsfMessages.EnqueueMessage(SvRes, requestCompleted, userToken, src, true, 30000);
- serviceRequestClientList.Remove(key);
- DebugLog("AssignTanksSend end");
- return true;
- }
- }
- catch (Exception ex)
- {
- DebugLog("AssignTanksSend Exception! " + ex.ToString());
- }
- return false;
- }
- #endregion
- #region Price poles
- public bool AddPricePole(string id, int type, int physicalAddress, int internalAddress, string COMPort, int refreshTime)
- {
- try
- {
- DebugLog(string.Format("AddPricePole init: id={0}, type={1}, physicalAddress={2}, internalAddress={3}, COMPort={4}, refreshTime={5}", id, type, physicalAddress, internalAddress, COMPort, refreshTime));
- ServiceRequestDefPricePole SvRes = null;
- string key = "DefPricePole";
- if (serviceRequestClientList.ContainsKey(key))
- SvRes = (ServiceRequestDefPricePole)(serviceRequestClientList[key]);
- if (SvRes == null)
- {
- SvRes = new ServiceRequestDefPricePole();
- SvRes.WorkstationID = this.clientSocket.workstationID;
- SvRes.ApplicationSender = this.clientSocket.applicationSender;
- serviceRequestClientList.Add(key, SvRes);
- }
- else
- {
- if (SvRes.RequestType != "DefPricePole" && SvRes.RequestType != "DefPricePoles")
- {
- DebugLog(string.Format("SvRes.RequestType={0} != DefPricePole", SvRes.RequestType));
- return false;
- }
- }
- ServiceRequestDefPricePole.ServiceRequestPOSdataDefPricePole POSDataElem = null;
- if (SvRes.POSdata != null)
- POSDataElem = SvRes.POSdata[0];
- else
- {
- ServiceRequestDefPricePole.ServiceRequestPOSdataDefPricePole[] POSDataArray = null;
- POSDataElem = new ServiceRequestDefPricePole.ServiceRequestPOSdataDefPricePole();
- IFSFManager.ArrayResize<ServiceRequestDefPricePole.ServiceRequestPOSdataDefPricePole>(ref POSDataArray, (POSDataArray != null) ? POSDataArray.Length + 1 : 1);
- POSDataArray[POSDataArray.Length - 1] = POSDataElem;
- POSDataElem.POSTimeStamp = FDCConvert.ToString(DateTime.Now);
- SvRes.POSdata = POSDataArray;
- }
- ServiceRequestDefPricePole.DefPricePolePricePole pricePole = null;
- if (POSDataElem.PricePole != null)
- {
- foreach (ServiceRequestDefPricePole.DefPricePolePricePole pricePoleTemp in POSDataElem.PricePole)
- if (pricePoleTemp.Id == Convert.ToString(id))
- pricePole = pricePoleTemp;
- }
- if (pricePole == null && !string.IsNullOrEmpty(id))
- {
- pricePole = new ServiceRequestDefPricePole.DefPricePolePricePole();
- pricePole.Id = id;
- pricePole.Type = Convert.ToString(type);
- if (FDCGlobal.ConfigVersion == FDCConfigVersion.V0100)
- pricePole.COMPort = COMPort;
- else
- pricePole.ComChannelId = COMPort;
- pricePole.PhysicalAddress = Convert.ToString(physicalAddress);
- pricePole.InternalAddress = Convert.ToString(internalAddress);
- pricePole.RefreshTime = Convert.ToString(refreshTime);
- ServiceRequestDefPricePole.DefPricePolePricePole[] pricePoleArray = POSDataElem.PricePole;
- IFSFManager.ArrayResize<ServiceRequestDefPricePole.DefPricePolePricePole>(ref pricePoleArray, (pricePoleArray != null) ? pricePoleArray.Length + 1 : 1);
- pricePoleArray[pricePoleArray.Length - 1] = pricePole;
- POSDataElem.PricePole = pricePoleArray;
- }
- DebugLog("AddPricePole end");
- return true;
- }
- catch (Exception ex)
- {
- DebugLog("AddPricePole Exception! " + ex.ToString());
- }
- return false;
- }
- public bool AddPricePoleRow(string id, int gradeId, int fuelMode, int position)
- {
- try
- {
- DebugLog(string.Format("AddPricePoleRow init: pricePoleId={0}, gradeId={1}, fuelMode={2}, position={3}", id, gradeId, fuelMode, position));
- ServiceRequestDefPricePole SvRes = null;
- string key = "DefPricePole";
- if (serviceRequestClientList.ContainsKey(key))
- SvRes = (ServiceRequestDefPricePole)(serviceRequestClientList[key]);
- if (SvRes == null)
- {
- DebugLog("RequestType DefPricePole NOT found!!! return FALSE");
- return false;
- }
- ServiceRequestDefPricePole.ServiceRequestPOSdataDefPricePole POSDataElem = null;
- if (SvRes.POSdata != null)
- POSDataElem = SvRes.POSdata[0];
- else
- {
- ServiceRequestDefPricePole.ServiceRequestPOSdataDefPricePole[] POSDataArray = null;
- POSDataElem = new ServiceRequestDefPricePole.ServiceRequestPOSdataDefPricePole();
- IFSFManager.ArrayResize<ServiceRequestDefPricePole.ServiceRequestPOSdataDefPricePole>(ref POSDataArray, (POSDataArray != null) ? POSDataArray.Length + 1 : 1);
- POSDataArray[POSDataArray.Length - 1] = POSDataElem;
- SvRes.POSdata = POSDataArray;
- }
- ServiceRequestDefPricePole.DefPricePolePricePole pricePole = null;
- if (POSDataElem.PricePole != null)
- {
- foreach (ServiceRequestDefPricePole.DefPricePolePricePole pricePoleTemp in POSDataElem.PricePole)
- if (pricePoleTemp.Id == id)
- pricePole = pricePoleTemp;
- }
- if (pricePole == null)
- {
- DebugLog(string.Format("PricePole id={0} NOT found!!! return FALSE", id));
- return false;
- }
- else
- {
- ServiceRequestDefPricePole.DefPricePolePricePoleGrade grade = null;
- if (pricePole.Grade != null)
- {
- foreach (ServiceRequestDefPricePole.DefPricePolePricePoleGrade gradeTemp in pricePole.Grade)
- if (gradeTemp.Position == Convert.ToString(position))
- grade = gradeTemp;
- }
- if (grade == null)
- {
- grade = new ServiceRequestDefPricePole.DefPricePolePricePoleGrade();
- grade.Id = Convert.ToString(gradeId);
- grade.FuelMode = Convert.ToString(fuelMode);
- grade.Position = Convert.ToString(position);
- ServiceRequestDefPricePole.DefPricePolePricePoleGrade[] gradeArray = pricePole.Grade;
- IFSFManager.ArrayResize<ServiceRequestDefPricePole.DefPricePolePricePoleGrade>(ref gradeArray, (gradeArray != null) ? gradeArray.Length + 1 : 1);
- gradeArray[gradeArray.Length - 1] = grade;
- pricePole.Grade = gradeArray;
- }
- }
- DebugLog("AddPricePoleRow end");
- return true;
- }
- catch (Exception ex)
- {
- DebugLog("AddPricePoleRow Exception! " + ex.ToString());
- }
- return false;
- }
- public bool AddPricePoleSend(EventHandler<Wayne.Lib.AsyncCompletedEventArgs> requestCompleted, object userToken, object src)
- {
- try
- {
- DebugLog("AddPricePoleSend init");
- ServiceRequestDefPricePole SvRes = null;
- string key = "DefPricePole";
- if (serviceRequestClientList.ContainsKey(key))
- SvRes = (ServiceRequestDefPricePole)(serviceRequestClientList[key]);
- if (SvRes != null)
- {
- clientSocket.ifsfMessages.EnqueueMessage(SvRes, requestCompleted, userToken, src, true, 30000);
- serviceRequestClientList.Remove(key);
- DebugLog("AddPricePoleSend end");
- return true;
- }
- }
- catch (Exception ex)
- {
- DebugLog("AddPricePoleSend Exception! " + ex.ToString());
- }
- return false;
- }
- public void DefPricePoleResp(int requestId, string sOverallResult, ServiceResponseDefPricePole sr)
- {
- try
- {
- string errorCode = sr.FDCdata[0].FDCStatus;
- DebugLog(string.Format("DefPricePoleResp errorCode={0}", errorCode));
- clientSocket.ifsfMessages.asyncResponseManager.SendResponse(requestId, errorCode == ErrorCode.ERRCD_OK.ToString() && sOverallResult == FDCPOSLibrary.OverallResult.Success.ToString());
- }
- catch (Exception ex)
- {
- DebugLog("DefPricePoleResp Exception! " + ex.ToString());
- }
- }
- #endregion
- #region Price sets
- public bool LoadPriceset(int id, int gradeId, double price)
- {
- return false;
- }
- public bool LoadPricesetSend(EventHandler<Wayne.Lib.AsyncCompletedEventArgs> requestCompleted, object userToken, object src)
- {
- return false;
- }
- #endregion
- #region Tank monitors
- public bool AddTankMonitor(int id, int type, string COMPort, int timeBetweenRead, int sendTransactions, int messageSentUnsolicited, int deliverySource)
- {
- try
- {
- DebugLog(string.Format("AddTankMonitor init: id={0}, type={1}, COMPort={2}, timeBetweenRead={3}, sendTransactions={4}, messageSentUnsolicited={5}, deliverySource={6}", id, type, COMPort, timeBetweenRead, sendTransactions, messageSentUnsolicited, deliverySource));
- ServiceRequestDefTankMonitor SvRes = null;
- string key = "DefTankMonitor";
- if (serviceRequestClientList.ContainsKey(key))
- SvRes = (ServiceRequestDefTankMonitor)(serviceRequestClientList[key]);
- if (SvRes == null)
- {
- SvRes = new ServiceRequestDefTankMonitor();
- SvRes.WorkstationID = this.clientSocket.workstationID;
- SvRes.ApplicationSender = this.clientSocket.applicationSender;
- serviceRequestClientList.Add(key, SvRes);
- }
- else
- {
- if (SvRes.RequestType != "DefTankMonitor" && SvRes.RequestType != "DefTankMonitors")
- {
- DebugLog(string.Format("SvRes.RequestType={0} != DefTankMonitor", SvRes.RequestType));
- return false;
- }
- }
- ServiceRequestDefTankMonitor.ServiceRequestPOSdataDefTankMonitor POSDataElem = null;
- if (SvRes.POSdata != null)
- POSDataElem = SvRes.POSdata[0];
- else
- {
- ServiceRequestDefTankMonitor.ServiceRequestPOSdataDefTankMonitor[] POSDataArray = null;
- POSDataElem = new ServiceRequestDefTankMonitor.ServiceRequestPOSdataDefTankMonitor();
- IFSFManager.ArrayResize<ServiceRequestDefTankMonitor.ServiceRequestPOSdataDefTankMonitor>(ref POSDataArray, (POSDataArray != null) ? POSDataArray.Length + 1 : 1);
- POSDataArray[POSDataArray.Length - 1] = POSDataElem;
- POSDataElem.POSTimeStamp = FDCConvert.ToString(DateTime.Now);
- SvRes.POSdata = POSDataArray;
- }
- ServiceRequestDefTankMonitor.DefTankMonitorTankMonitor tankMonitor = null;
- if (POSDataElem.TankMonitor != null)
- {
- foreach (ServiceRequestDefTankMonitor.DefTankMonitorTankMonitor tankMonitorTemp in POSDataElem.TankMonitor)
- if (tankMonitorTemp.Id == Convert.ToString(id))
- tankMonitor = tankMonitorTemp;
- }
- if (tankMonitor == null && id > 0)
- {
- tankMonitor = new ServiceRequestDefTankMonitor.DefTankMonitorTankMonitor();
- tankMonitor.Id = Convert.ToString(id);
- tankMonitor.Type = Convert.ToString(type);
- if (FDCGlobal.ConfigVersion == FDCConfigVersion.V0100)
- tankMonitor.COMPort = COMPort;
- else
- tankMonitor.ComChannelId = COMPort;
- tankMonitor.TimeBetweenRead = Convert.ToString(timeBetweenRead);
- tankMonitor.SendTransactions = Convert.ToString(sendTransactions);
- tankMonitor.MessageSentUnsolicited = Convert.ToString(messageSentUnsolicited);
- if (FDCGlobal.ConfigVersion == FDCConfigVersion.V0200 && deliverySource <= 2)
- tankMonitor.DeliverySource = Convert.ToString(deliverySource);
- ServiceRequestDefTankMonitor.DefTankMonitorTankMonitor[] tankMonitorArray = POSDataElem.TankMonitor;
- IFSFManager.ArrayResize<ServiceRequestDefTankMonitor.DefTankMonitorTankMonitor>(ref tankMonitorArray, (tankMonitorArray != null) ? tankMonitorArray.Length + 1 : 1);
- tankMonitorArray[tankMonitorArray.Length - 1] = tankMonitor;
- POSDataElem.TankMonitor = tankMonitorArray;
- }
- DebugLog("AddTankMonitor end");
- return true;
- }
- catch (Exception ex)
- {
- DebugLog("AddTankMonitor Exception! " + ex.ToString());
- }
- return false;
- }
- public bool AddTankProbe(int tankMonitorId, string probeSN, int tankId, double floatOffset, double minimumHeight, int boardNumber, int connector)
- {
- try
- {
- DebugLog(string.Format("AddTankProbe init: tankMonitorId={0}, probeSN={1}, tankId={2}, boardNumber={3}, connector={4}", tankMonitorId, probeSN, tankId, boardNumber, connector));
- ServiceRequestDefTankMonitor SvRes = null;
- string key = "DefTankMonitor";
- if (serviceRequestClientList.ContainsKey(key))
- SvRes = (ServiceRequestDefTankMonitor)(serviceRequestClientList[key]);
- if (SvRes == null)
- {
- DebugLog("RequestType DefTankMonitor NOT found!!! return FALSE");
- return false;
- }
- ServiceRequestDefTankMonitor.ServiceRequestPOSdataDefTankMonitor POSDataElem = null;
- if (SvRes.POSdata != null)
- POSDataElem = SvRes.POSdata[0];
- else
- {
- ServiceRequestDefTankMonitor.ServiceRequestPOSdataDefTankMonitor[] POSDataArray = null;
- POSDataElem = new ServiceRequestDefTankMonitor.ServiceRequestPOSdataDefTankMonitor();
- IFSFManager.ArrayResize<ServiceRequestDefTankMonitor.ServiceRequestPOSdataDefTankMonitor>(ref POSDataArray, (POSDataArray != null) ? POSDataArray.Length + 1 : 1);
- POSDataArray[POSDataArray.Length - 1] = POSDataElem;
- POSDataElem.POSTimeStamp = FDCConvert.ToString(DateTime.Now);
- SvRes.POSdata = POSDataArray;
- }
- ServiceRequestDefTankMonitor.DefTankMonitorTankMonitor tankMonitor = null;
- if (POSDataElem.TankMonitor != null)
- {
- foreach (ServiceRequestDefTankMonitor.DefTankMonitorTankMonitor tankMonitorTemp in POSDataElem.TankMonitor)
- if (tankMonitorTemp.Id == Convert.ToString(tankMonitorId))
- tankMonitor = tankMonitorTemp;
- }
- if (tankMonitor == null)
- {
- DebugLog(string.Format("TankMonitor id={0} NOT found!!! return FALSE", tankMonitorId));
- return false;
- }
- else
- {
- ServiceRequestDefTankMonitor.DefTankMonitorTankMonitorProbe probe = null;
- if (tankMonitor.Probe != null)
- {
- foreach (ServiceRequestDefTankMonitor.DefTankMonitorTankMonitorProbe probeTemp in tankMonitor.Probe)
- if (probeTemp.Id == probeSN)
- probe = probeTemp;
- }
- if (probe == null)
- {
- probe = new ServiceRequestDefTankMonitor.DefTankMonitorTankMonitorProbe();
- probe.Id = probeSN;
- probe.TankId = Convert.ToString(tankId);
- probe.FloatOffset = FDCConvert.ToString(floatOffset);
- probe.MinimumHeight = FDCConvert.ToString(minimumHeight);
- probe.BoardNumber = Convert.ToString(boardNumber);
- probe.Connector = Convert.ToString(connector);
- ServiceRequestDefTankMonitor.DefTankMonitorTankMonitorProbe[] probeArray = tankMonitor.Probe;
- IFSFManager.ArrayResize<ServiceRequestDefTankMonitor.DefTankMonitorTankMonitorProbe>(ref probeArray, (probeArray != null) ? probeArray.Length + 1 : 1);
- probeArray[probeArray.Length - 1] = probe;
- tankMonitor.Probe = probeArray;
- }
- }
- DebugLog("AddTankProbe end");
- return true;
- }
- catch (Exception ex)
- {
- DebugLog("AddTankProbe Exception! " + ex.ToString());
- }
- return false;
- }
- public bool AddTankMonitorSend(EventHandler<Wayne.Lib.AsyncCompletedEventArgs> requestCompleted, object userToken, object src)
- {
- try
- {
- DebugLog("AddTankMonitorSend init");
- ServiceRequestDefTankMonitor SvRes = null;
- string key = "DefTankMonitor";
- if (serviceRequestClientList.ContainsKey(key))
- SvRes = (ServiceRequestDefTankMonitor)(serviceRequestClientList[key]);
- if (SvRes != null)
- {
- clientSocket.ifsfMessages.EnqueueMessage(SvRes, requestCompleted, userToken, src, true, 30000);
- serviceRequestClientList.Remove(key);
- DebugLog("AddTankMonitorSend end");
- return true;
- }
- }
- catch (Exception ex)
- {
- DebugLog("AddTankMonitorSend Exception! " + ex.ToString());
- }
- return false;
- }
- public void DefTankMonitorResp(int requestId, string sOverallResult, ServiceResponseDefTankMonitor sr)
- {
- try
- {
- string errorCode = sr.FDCdata[0].FDCStatus;
- DebugLog(string.Format("DefTankMonitorResp errorCode={0}", errorCode));
- clientSocket.ifsfMessages.asyncResponseManager.SendResponse(requestId, errorCode == ErrorCode.ERRCD_OK.ToString() && sOverallResult == FDCPOSLibrary.OverallResult.Success.ToString());
- }
- catch (Exception ex)
- {
- DebugLog("DefTankMonitorResp Exception! " + ex.ToString());
- }
- }
- #endregion
- #region Fuel opration modes
- public bool AddFPOperationsMode(int id, string name)
- {
- try
- {
- DebugLog(string.Format("AddFPOperationsMode init: id={0}", id));
- ServiceRequestDefFPOperationModes SvRes = null;
- string key = "DefFPOperationModes";
- if (serviceRequestClientList.ContainsKey(key))
- SvRes = (ServiceRequestDefFPOperationModes)(serviceRequestClientList[key]);
- if (SvRes == null)
- {
- SvRes = new ServiceRequestDefFPOperationModes();
- SvRes.WorkstationID = this.clientSocket.workstationID;
- SvRes.ApplicationSender = this.clientSocket.applicationSender;
- serviceRequestClientList.Add(key, SvRes);
- }
- else
- {
- if (SvRes.RequestType != "DefFPOperationModes")
- {
- DebugLog(string.Format("SvRes.RequestType={0} != DefFPOperationModes", SvRes.RequestType));
- return false;
- }
- }
- ServiceRequestDefFPOperationModes.ServiceRequestPOSdataDefFPOperationModes POSDataElem = null;
- if (SvRes.POSdata != null)
- POSDataElem = SvRes.POSdata[0];
- else
- {
- ServiceRequestDefFPOperationModes.ServiceRequestPOSdataDefFPOperationModes[] POSDataArray = null;
- POSDataElem = new ServiceRequestDefFPOperationModes.ServiceRequestPOSdataDefFPOperationModes();
- IFSFManager.ArrayResize<ServiceRequestDefFPOperationModes.ServiceRequestPOSdataDefFPOperationModes>(ref POSDataArray, (POSDataArray != null) ? POSDataArray.Length + 1 : 1);
- POSDataArray[POSDataArray.Length - 1] = POSDataElem;
- POSDataElem.POSTimeStamp = FDCConvert.ToString(DateTime.Now);
- SvRes.POSdata = POSDataArray;
- }
- ServiceRequestDefFPOperationModes.DefFPOperationModesMode operationMode = null;
- if (POSDataElem.OperationMode != null)
- {
- foreach (ServiceRequestDefFPOperationModes.DefFPOperationModesMode operationModeTemp in POSDataElem.OperationMode)
- if (operationModeTemp.Id == Convert.ToString(id))
- operationMode = operationModeTemp;
- }
- if (operationMode == null)
- {
- operationMode = new ServiceRequestDefFPOperationModes.DefFPOperationModesMode();
- operationMode.Id = Convert.ToString(id);
- operationMode.Name = name;
- ServiceRequestDefFPOperationModes.DefFPOperationModesMode[] operationModeArray = POSDataElem.OperationMode;
- IFSFManager.ArrayResize<ServiceRequestDefFPOperationModes.DefFPOperationModesMode>(ref operationModeArray, (operationModeArray != null) ? operationModeArray.Length + 1 : 1);
- operationModeArray[operationModeArray.Length - 1] = operationMode;
- POSDataElem.OperationMode = operationModeArray;
- }
- DebugLog("AddFPOperationsMode end");
- return true;
- }
- catch (Exception ex)
- {
- DebugLog("AddFPOperationsMode Exception! " + ex.ToString());
- }
- return false;
- }
- public bool AddFPOperationsModeGrade(int modeId, int gradeId, int volume)
- {
- try
- {
- DebugLog(string.Format("AddFPOperationsModeGrade init: modeId={0}, gradeId={1}, maxVolume={2}", modeId, gradeId, volume));
- ServiceRequestDefFPOperationModes SvRes = null;
- string key = "DefFPOperationModes";
- if (serviceRequestClientList.ContainsKey(key))
- SvRes = (ServiceRequestDefFPOperationModes)(serviceRequestClientList[key]);
- if (SvRes == null)
- {
- DebugLog("RequestType DefFPOperationModes NOT found!!! return FALSE");
- return false;
- }
- ServiceRequestDefFPOperationModes.ServiceRequestPOSdataDefFPOperationModes POSDataElem = null;
- if (SvRes.POSdata != null)
- POSDataElem = SvRes.POSdata[0];
- else
- {
- ServiceRequestDefFPOperationModes.ServiceRequestPOSdataDefFPOperationModes[] POSDataArray = null;
- POSDataElem = new ServiceRequestDefFPOperationModes.ServiceRequestPOSdataDefFPOperationModes();
- IFSFManager.ArrayResize<ServiceRequestDefFPOperationModes.ServiceRequestPOSdataDefFPOperationModes>(ref POSDataArray, (POSDataArray != null) ? POSDataArray.Length + 1 : 1);
- POSDataArray[POSDataArray.Length - 1] = POSDataElem;
- POSDataElem.POSTimeStamp = FDCConvert.ToString(DateTime.Now);
- SvRes.POSdata = POSDataArray;
- }
- ServiceRequestDefFPOperationModes.DefFPOperationModesMode operationMode = null;
- if (POSDataElem.OperationMode != null)
- {
- foreach (ServiceRequestDefFPOperationModes.DefFPOperationModesMode operationModeTemp in POSDataElem.OperationMode)
- if (operationModeTemp.Id == Convert.ToString(modeId))
- operationMode = operationModeTemp;
- }
- if (operationMode == null)
- {
- DebugLog(string.Format("OperationMode id={0} NOT found!!! return FALSE", modeId));
- return false;
- }
- else
- {
- ServiceRequestDefFPOperationModes.DefFPOperationModesModeGrade grade = null;
- if (operationMode.Grade != null)
- {
- foreach (ServiceRequestDefFPOperationModes.DefFPOperationModesModeGrade gradeTemp in operationMode.Grade)
- if (gradeTemp.Id == Convert.ToString(gradeId))
- grade = gradeTemp;
- }
- if (grade == null)
- {
- grade = new ServiceRequestDefFPOperationModes.DefFPOperationModesModeGrade();
- grade.Id = Convert.ToString(gradeId);
- grade.MaxVolume = Convert.ToString(volume);
- ServiceRequestDefFPOperationModes.DefFPOperationModesModeGrade[] gradeArray = operationMode.Grade;
- IFSFManager.ArrayResize<ServiceRequestDefFPOperationModes.DefFPOperationModesModeGrade>(ref gradeArray, (gradeArray != null) ? gradeArray.Length + 1 : 1);
- gradeArray[gradeArray.Length - 1] = grade;
- operationMode.Grade = gradeArray;
- }
- DebugLog("AddFPOperationsModeGrade end");
- return true;
- }
- }
- catch (Exception ex)
- {
- DebugLog("AddFPOperationsModeGrade Exception! " + ex.ToString());
- }
- return false;
- }
- public bool AddFPOperationModesSend(EventHandler<Wayne.Lib.AsyncCompletedEventArgs> requestCompleted, object userToken, object src)
- {
- try
- {
- DebugLog("AddFPOperationModesSend init");
- ServiceRequestDefFPOperationModes SvRes = null;
- string key = "DefFPOperationModes";
- if (serviceRequestClientList.ContainsKey(key))
- SvRes = (ServiceRequestDefFPOperationModes)(serviceRequestClientList[key]);
- if (SvRes != null)
- {
- clientSocket.ifsfMessages.EnqueueMessage(SvRes, requestCompleted, userToken, src, true, 30000);
- serviceRequestClientList.Remove(key);
- DebugLog("AddFPOperationModesSend end");
- return true;
- }
- }
- catch (Exception ex)
- {
- DebugLog("AddFPOperationModesSend Exception! " + ex.ToString());
- }
- return false;
- }
- public void DefFPOperationModesResp(int requestId, string sOverallResult, ServiceResponseDefFPOperationModes sr)
- {
- try
- {
- string errorCode = sr.FDCdata[0].FDCStatus;
- DebugLog(string.Format("DefFuelModesResp errorCode={0}", errorCode));
- clientSocket.ifsfMessages.asyncResponseManager.SendResponse(requestId, errorCode == ErrorCode.ERRCD_OK.ToString() && sOverallResult == FDCPOSLibrary.OverallResult.Success.ToString());
- }
- catch (Exception ex)
- {
- DebugLog("DefFuelModesResp Exception! " + ex.ToString());
- }
- }
- #endregion
- }
- }
|