//--------------------------------------------------------------------------------------------- public PoliWSSendDataObject() { statusCode = 299; errorMsg = ""; listData = new ArrayList(); terminalData = new TerminalDataObject(); listHeaders = new Dictionary <string, string>(); }
//--------------------------------------------------------------------------------------------- /// <summary> /// Cihazdan gelen bilgi burda parse edilir ve cihaza verilecek cevap PoliWSSendDataObject tipinde hazırlanır ve geri döndürülür. /// </summary> /// <param name="cmdComKey"></param> /// <param name="data"></param> /// <returns></returns> public PoliWSSendDataObject parseData(string cmdComKey, string data) { PoliWSSendDataObject retObj = new PoliWSSendDataObject(); retObj.listData = new ArrayList(); retObj.listHeaders = new Dictionary <string, string>(); retObj.statusCode = (int)Codes.OkCode; retObj.errorMsg = ""; try { if (data == null) { retObj.statusCode = (int)Codes.ErrorCode; throw new Exception("Query string yok!"); } string[] dz1 = data.Split(new char[] { ':' }); if (dz1 == null) { retObj.statusCode = (int)Codes.ErrorCode; throw new Exception("Query string yok!"); } if (dz1.Length < 2) { retObj.statusCode = (int)Codes.ErrorCode; throw new Exception("Query string yok!!"); } string commandStr = dz1[0]; string[] dz2 = dz1[1].Split(new char[] { ',' }); if (dz2 == null) { retObj.statusCode = (int)Codes.ErrorCode; throw new Exception("Query string yok!!!!"); } if (dz2.Length < 1) { throw new Exception("Query string yok!!!!!"); } string imeiPrm = ""; string tomidPrm = ""; string versionPrm = ""; string degerPrm = ""; string tarihPrm = ""; string remoteHost = "ismail"; if (String.IsNullOrEmpty(remoteHost)) { remoteHost = "?"; } TerminalDataObject termDataObj = new TerminalDataObject(); termDataObj.commandStr = commandStr; switch (commandStr) { case "TOM": /* Cihaza belirli sürelerde bir TOM komutu ile sorgu yapar. Bu komuta ayrıca, T headerı ile server tarihsaati saniye cinsinden gönderilmelidir. */ tomidPrm = dz2[0]; degerPrm = dz2[1]; imeiPrm = dz2[2]; versionPrm = dz2[3]; termDataObj.kartId = tomidPrm; termDataObj.macId = imeiPrm; termDataObj.termYon = degerPrm; termDataObj.version = versionPrm; retObj.terminalData = termDataObj; // acc2000ResponseToTerminal(retObj, commandStr, tomidPrm, imeiPrm, dsCmdData); // acc2000CheckYetkiGonderimi(retObj, imeiPrm); break; case "SALE": /* Cihaza kart okutuldu. Online çalışma. */ tomidPrm = dz2[0]; degerPrm = dz2[1]; imeiPrm = dz2[2]; versionPrm = dz2[3]; termDataObj.kartId = tomidPrm; termDataObj.macId = imeiPrm; termDataObj.termYon = degerPrm; termDataObj.version = versionPrm; retObj.terminalData = termDataObj; // acc2000ResponseToTerminal(retObj, commandStr, tomidPrm, imeiPrm, dsCmdData); break; case "OSALE": /* Offline modda oluşan kayıt aktarımı. */ tomidPrm = dz2[0]; degerPrm = dz2[1]; imeiPrm = dz2[2]; tarihPrm = dz2[3]; versionPrm = dz2[4]; termDataObj.kartId = tomidPrm; termDataObj.macId = imeiPrm; termDataObj.termYon = degerPrm; termDataObj.version = versionPrm; termDataObj.tarih = tarihPrm; retObj.terminalData = termDataObj; // izinPrm = dz2[5]; // aktarinPrm = dz2[6]; // acc2000ResponseToTerminal(retObj, commandStr, tomidPrm, imeiPrm, dsCmdData); break; case "PER": /* Cihaz offline çalışma için personel kart listesini istemektedir. Kart listesi cihaza gönderilecek. */ imeiPrm = dz2[0]; tomidPrm = ""; termDataObj.kartId = tomidPrm; termDataObj.macId = imeiPrm; retObj.terminalData = termDataObj; // acc2000ResponseToTerminal(retObj, commandStr, tomidPrm, imeiPrm, dsCmdData); break; case "CANCEL": tomidPrm = dz2[0]; imeiPrm = dz2[1]; termDataObj.kartId = tomidPrm; termDataObj.macId = imeiPrm; retObj.terminalData = termDataObj; break; default: retObj.statusCode = (int)Codes.ErrorCode; retObj.errorMsg = "Geçersiz komut!!!"; raiseMessage(-1, "", "Geçersiz komut!!!"); termDataObj.commandStr = ""; break; } } catch (Exception ex) { retObj.statusCode = (int)Codes.ErrorCode; retObj.listData = new ArrayList(); retObj.listHeaders = new Dictionary <string, string>(); retObj.errorMsg = ex.Message; raiseMessage(-1, "", ex.Message); } return(retObj); }