public static string Generate(string errorCode) { StringBuilder ret = new StringBuilder(); ret.Append($",{errorCode}"); if (AppConfiguration.checkSumCheck) { var chksum = CheckSum.Compute(ret.ToString()); ret.Append(','); ret.Append(chksum); } ret.Append('\r'); ret.Insert(0, '?'); return(ret.ToString()); }
//public BaseEvent() //{ // _builder = new StringBuilder(); //} public virtual string Generate(int device, string errorCode, string result = null) { var date = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss,"); _builder.Insert(4, date); _builder.Insert(0, $",{device},EVNT,"); if (AppConfiguration.checkSumCheck) { var chksum = CheckSum.Compute(_builder.ToString()); _builder.Append(','); _builder.Append(chksum); } _builder.Append('\r'); _builder.Insert(0, '>'); return(_builder.ToString()); }
public virtual string Generate(Device device) { string status = string.Empty; string ackcd = string.Empty; if (AppConfiguration.useXmlFilesForReplies) { var xmlData = GetXMLDictionary(); status = xmlData["Status1"] + xmlData["Status2"]; ackcd = xmlData["AckCD"]; int delay = Convert.ToInt32(xmlData["Delay"]); if (delay > 0) { Thread.Sleep(delay); } } else { status = ResponseStatusCalculator.Calculate((byte)device.GetResponseStatus1()) + ResponseStatusCalculator.Calculate((byte)device.GetResponseStatus2()); ackcd = "0000"; } StringBuilder temp = new StringBuilder(); temp.Append(','); temp.Append(_request.UnitNumber); temp.Append(','); if (AppConfiguration.useSequenceNumber) { temp.Append(_request.SeqNum.Value.ToString("D2")); temp.Append(','); } //temp.Append(ResponseStatusCalculator.Calculate((byte)device.GetResponseStatus1())); //temp.Append(ResponseStatusCalculator.Calculate((byte)device.GetResponseStatus2())); temp.Append(status); temp.Append(','); //temp.Append("0000");//ACkCD & Errcd are same temp.Append(ackcd); temp.Append(','); temp.Append(_request.CommandName); temp.Append(','); _responseBuilder.Insert(0, temp.ToString()); if (AppConfiguration.checkSumCheck) { var chksum = CheckSum.Compute(_responseBuilder.ToString()); _responseBuilder.Append(','); _responseBuilder.Append(chksum); } _responseBuilder.Append('\r'); if (this is BaseEndOfExec) { _responseBuilder.Insert(0, '!'); } else { _responseBuilder.Insert(0, '$'); } return(_responseBuilder.ToString()); }