Пример #1
0
        public DE48_MessageControl FromByteArray(byte[] buffer)
        {
            NetworkMessage nm = NetworkMessage.Parse(buffer, Iso8583MessageType.SubElement_DE_048);

            CommunicationDiagnostics = nm.GetDataElement <DE48_1_CommunicationDiagnostics>(DataElementId.DE_001);
            HardwareSoftwareConfig   = nm.GetDataElement <DE48_2_HardwareSoftwareConfig>(DataElementId.DE_002);
            LanguageCode             = nm.GetString(DataElementId.DE_003);
            string _batchNumber = nm.GetString(DataElementId.DE_004);

            if (!string.IsNullOrEmpty(_batchNumber))
            {
                SequenceNumber = int.Parse(_batchNumber.Substring(0, 6));
                BatchNumber    = int.Parse(_batchNumber.Substring(6));
            }
            ShiftNumber         = nm.GetString(DataElementId.DE_005);
            ClerkId             = nm.GetString(DataElementId.DE_006);
            CustomerData        = nm.GetDataElement <DE48_8_CustomerData>(DataElementId.DE_008);
            Track2ForSecondCard = nm.GetString(DataElementId.DE_009);
            Track1ForSecondCard = nm.GetString(DataElementId.DE_010);
            CardType            = nm.GetStringConstant(DataElementId.DE_011);
            AdministrativelyDirectedTaskCode = nm.GetByteConstant(DataElementId.DE_012);
            RfidData = nm.GetString(DataElementId.DE_013);
            PinEncryptionMethodology = nm.GetDataElement <DE48_14_PinEncryptionMethodology>(DataElementId.DE_014);
            PosConfiguration         = nm.GetDataElement <DE48_33_PosConfiguration>(DataElementId.DE_033);
            MessageConfiguration     = nm.GetDataElement <DE48_34_MessageConfiguration>(DataElementId.DE_034);
            Name1 = nm.GetDataElement <DE48_Name>(DataElementId.DE_035);
            Name2 = nm.GetDataElement <DE48_Name>(DataElementId.DE_036);
            SecondaryAccountNumber  = nm.GetString(DataElementId.DE_037);
            PriorMessageInformation = nm.GetDataElement <DE48_39_PriorMessageInformation>(DataElementId.DE_039);

            addressIndex = 0;
            foreach (DataElementId addressId in addressElementIds)
            {
                DE48_Address address = nm.GetDataElement <DE48_Address>(addressId);
                if (address != null)
                {
                    addresses[addressId] = address;
                }
            }

            return(this);
        }
Пример #2
0
 public void AddAddress(DE48_Address address)
 {
     addresses[addressElementIds[addressIndex++]] = address;
 }