Пример #1
0
        public byte[] ProcessData(byte[] data)
        {
            Builder.BuildFromBytes(data);
            EgtsPacket inPacket = Builder.GetPacket();

            ProcessingResult procResult = new ProcessingResult();

            ProcessingCode code = CheckPacket(inPacket, data);

            if (code == ProcessingCode.EGTS_PC_OK)
            {
                inPacket.SetProcessor(PacketProcessor);
                inPacket.Process(ref procResult);
            }
            else
            {
                procResult.PacketId = inPacket.Header.PID;
                procResult.Result   = code;
            }

            Builder.BuildFromProcessingResult(procResult);
            EgtsPacket outPacket = Builder.GetPacket();

            return(outPacket.GetBytes());
        }
Пример #2
0
        public byte[] ProcessData(byte[] data)
        {
            Builder.BuildFromBytes(data);
            EgtsPacket inPacket = Builder.GetPacket();

            Log.Debug("Получен пакет EGTS {@packet}", inPacket);
            ProcessingResult procResult = new ProcessingResult();

            ProcessingCode code = CheckPacket(inPacket, data);

            if (code == ProcessingCode.EGTS_PC_OK)
            {
                Log.Debug("Результат проверки полученного пакета #{PacketId} - {ProcessingCode}", inPacket.Header.PID, code);
                inPacket.SetProcessor(PacketProcessor);
                inPacket.Process(ref procResult);
            }
            else
            {
                Log.Warning("Результат проверки полученного пакета #{PacketId} - {ProcessingCode}", inPacket.Header.PID, code);
                procResult.PacketId = inPacket.Header.PID;
                procResult.Result   = code;
            }

            Builder.BuildFromProcessingResult(procResult);
            EgtsPacket outPacket = Builder.GetPacket();

            return(outPacket.GetBytes());
        }
Пример #3
0
        public void Process(ref ProcessingResult result)
        {
            ProcessingCode code = Processor.ProcessServiceDataRecord(this);

            result.RecResults.Add(new ProcessingResult.RecordResult()
            {
                Record = this, Result = code
            });
        }
Пример #4
0
        public override void Process(ref ProcessingResult result)
        {
            ProcessingCode code = Processor.ProcessServiceFrameData(this);

            foreach (ServiceDataRecord record in this.ServiceDataRecords)
            {
                record.Process(ref result);
            }
        }
        public void TestValidConstructor()
        {
            const string Data = "112233";
            var          proc = new ProcessingCode(Data);

            Assert.AreEqual("11", proc.TranType);
            Assert.AreEqual("22", proc.FromAccountType);
            Assert.AreEqual("33", proc.ToAccountType);
        }
Пример #6
0
 internal static void ChangeProcessingCode()
 {
     Console.Write("Please choose (P)roduction, (T)est, or (D)ebugging: ");
     while (true)
     {
         string code = (Console.ReadLine() ?? "").ToUpper();
         if (code == "P")
         {
             _processingCode = ProcessingCode.Production();
             return;
         }
         if (code == "T")
         {
             _processingCode = ProcessingCode.Test();
             break;
         }
         if (code == "D")
         {
             _processingCode = ProcessingCode.Debugging();
             break;
         }
     }
 }
Пример #7
0
        public void Process(ref ProcessingResult result)
        {
            ProcessingCode code = Processor.ProcessPacket(this);

            ServiceFrameData.Process(ref result);
        }