Exemplo n.º 1
0
        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());
        }
Exemplo n.º 2
0
        //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());
        }
Exemplo n.º 3
0
        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());
        }