Exemplo n.º 1
0
        /// <summary>
        /// Parse the transaction explicitly.
        /// </summary>
        /// <param name="unb">The UNB.</param>
        /// <param name="ung">The UNG.</param>
        /// <param name="unh">The UNH.</param>
        /// <returns>The type to parse to.</returns>
        public static TypeInfo FullTemplateFactory(UNB unb, UNG ung, UNH unh)
        {
            if (unb.INTERCHANGESENDER_2.InterchangeSenderIdentification_1 == "SPLIT1" &&
                unh.MessageIdentifier_02.MessageType_01 == "ORDERS")
            {
                return(typeof(TSORDERSSplit).GetTypeInfo());
            }

            if (unb.INTERCHANGESENDER_2.InterchangeSenderIdentification_1 == "INVALID1" &&
                unh.MessageIdentifier_02.MessageType_01 == "ORDERS")
            {
                return(typeof(TSORDERSValidation).GetTypeInfo());
            }

            if (unb.INTERCHANGESENDER_2.InterchangeSenderIdentification_1 == "CUSTOM1" &&
                unh.MessageIdentifier_02.MessageType_01 == "ORDERS")
            {
                return(typeof(TSORDERSCustom1).GetTypeInfo());
            }

            if (unb.INTERCHANGESENDER_2.InterchangeSenderIdentification_1 == "CUSTOM2" &&
                unh.MessageIdentifier_02.MessageType_01 == "ORDERS")
            {
                return(typeof(TSORDERSCustom2).GetTypeInfo());
            }

            if (unh.MessageIdentifier_02.MessageReleaseNumber_03 == "96A" &&
                unh.MessageIdentifier_02.MessageType_01 == "ORDERS")
            {
                return(typeof(TSORDERS).GetTypeInfo());
            }

            if (unh.MessageIdentifier_02.MessageReleaseNumber_03 == "96A" &&
                unh.MessageIdentifier_02.MessageType_01 == "INVOIC")
            {
                return(typeof(TSINVOIC).GetTypeInfo());
            }

            if (unh.MessageIdentifier_02.MessageReleaseNumber_03 == "96A" &&
                unh.MessageIdentifier_02.MessageType_01 == "INVOIC")
            {
                return(typeof(TSINVOIC).GetTypeInfo());
            }

            if (unh.MessageIdentifier_02.MessageType_01 == "PNRGOV")
            {
                return(typeof(TSPNRGOV).GetTypeInfo());
            }

            if (unh.MessageIdentifier_02.MessageReleaseNumber_03 == "01B" &&
                unh.MessageIdentifier_02.MessageType_01 == "INVOIC" &&
                unh.MessageIdentifier_02.AssociationAssignedCode_05.StartsWith("EAN", System.StringComparison.Ordinal))
            {
                return(typeof(Templates.EancomD01B.TSINVOIC).GetTypeInfo());
            }

            throw new System.Exception(string.Format("Transaction {0} for version {1} is not supported.",
                                                     unh.MessageIdentifier_02.MessageType_01, unh.MessageIdentifier_02.MessageVersionNumber_02 + unh.MessageIdentifier_02.MessageReleaseNumber_03));
        }
        public static TypeInfo TemplateFactory(UNB unb, UNG ung, UNH unh)
        {
            if (unh.MessageIdentifier_02.MessageType_01 == "PNRGOV")
            {
                return(typeof(TSPNRGOV).GetTypeInfo());
            }

            throw new System.Exception(string.Format("Transaction {0} for version {1} is not supported.",
                                                     unh.MessageIdentifier_02.MessageType_01, unh.MessageIdentifier_02.MessageVersionNumber_02 + unh.MessageIdentifier_02.MessageReleaseNumber_03));
        }
Exemplo n.º 3
0
        public static TypeInfo ModifiedTypeFactory(UNB unb, UNG ung, UNH unh)
        {
            if (unh.MessageIdentifier_02.MessageReleaseNumber_03 == "96A" &&
                unh.MessageIdentifier_02.MessageType_01 == "ORDERS")
            {
                return(typeof(TSORDERSModified).GetTypeInfo());
            }

            throw new Exception(string.Format("Transaction {0} for version {1} is not supported.",
                                              unh.MessageIdentifier_02.MessageType_01, unh.MessageIdentifier_02.MessageVersionNumber_02 + unh.MessageIdentifier_02.MessageReleaseNumber_03));
        }
Exemplo n.º 4
0
        protected override void MontarUnh(string numeroReferenciaMensaje)
        {
            var _numeroReferencia = CleanText(numeroReferenciaMensaje);

            var unh = new UNH(_numeroReferencia,
                              new IdentificadorDelMensaje(_idTipoMensaje_0065, _numeroVersionTipoMensaje_0052,
                                                          _numeroPublicacionTipoMensaje_0054, _agenciaControladora_0051,
                                                          _codigoAsignadoDeAsociacion_0057),
                              null, null);

            Segmentos.Add(unh);
            Mensaje += unh.getSegmento();
        }
Exemplo n.º 5
0
        public static TypeInfo NoEnvelopeTemplateFactory(UNB unb, UNG ung, UNH unh)
        {
            if (unh.MessageIdentifier_02.MessageReleaseNumber_03 == "96A" &&
                unh.MessageIdentifier_02.MessageType_01 == "ORDERS")
            {
                return(typeof(TSORDERS).GetTypeInfo());
            }

            if (unh.MessageIdentifier_02.MessageReleaseNumber_03 == "96A" &&
                unh.MessageIdentifier_02.MessageType_01 == "INVOIC")
            {
                return(typeof(TSINVOIC).GetTypeInfo());
            }

            throw new System.Exception(string.Format("Transaction {0} for version {1} is not supported.",
                                                     unh.MessageIdentifier_02.MessageType_01, unh.MessageIdentifier_02.MessageVersionNumber_02 + unh.MessageIdentifier_02.MessageReleaseNumber_03));
        }