Esempio n. 1
0
        public static Pacs008 process(string message)
        {
            XmlDocument pacs008Xml = new XmlDocument();

            pacs008Xml.LoadXml(message);

            string xmlTag = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n";

            XmlNode hdr    = pacs008Xml.DocumentElement.FirstChild;
            string  hdrStr = xmlTag + hdr.OuterXml;

            XmlNode doc    = pacs008Xml.DocumentElement.LastChild;
            string  docStr = xmlTag + doc.OuterXml;

            TextReader hdrSr         = new StringReader(hdrStr);
            var        hdrSerializer = new System.Xml.Serialization.XmlSerializer(typeof(Header));
            Header     hdrSer        = (Header)hdrSerializer.Deserialize(hdrSr);

            TextReader docSr         = new StringReader(docStr);
            var        docSerializer = new System.Xml.Serialization.XmlSerializer(typeof(Document));
            Document   docSer        = (Document)docSerializer.Deserialize(docSr);

            Pacs008 pacs008 = new Pacs008();

            pacs008.AppHdr   = hdrSer;
            pacs008.Document = docSer;

            return(pacs008);
        }
Esempio n. 2
0
        public static string process(string message)
        {
            try
            {
                string msgUnsigned = HSMConn.Post(message);

                Pacs008 pacs008 = Serializer.Deserializer.process(msgUnsigned);
                pacs008.AppHdr.Validationstatus = "Pending";
                return(JsonConvert.SerializeObject(pacs008, Newtonsoft.Json.Formatting.Indented));
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                throw;
            }
        }
Esempio n. 3
0
        public static string process(string message008)
        {
            try
            {
                Pacs008 pacs008 = JsonConvert.DeserializeObject <Pacs008>(message008);

                string message002 = Serializer.process(pacs008);

                string msgSigned = HSMConn.Post(message002);

                return(msgSigned);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                throw;
            }
        }
Esempio n. 4
0
 public string Post([FromBody] Pacs008 pacs008)
 {
     return("{\"Message Id\": \"" + pacs008.Document.FIToFICstmrCdtTrf.GrpHdr.MsgId +
            "\", \"status\": \"Validated\"}");
 }
Esempio n. 5
0
        public static string process(Pacs008 pacs008)
        {
            //From
            Model.GenericFinancialIdentification1 othrFr =
                new Model.GenericFinancialIdentification1();
            othrFr.Id = pacs008.AppHdr.Fr.Item.FinInstnId.Othr.Id;
            Model.FinancialInstitutionIdentification8 finInstnIdFr =
                new Model.FinancialInstitutionIdentification8();
            finInstnIdFr.Othr = othrFr;
            Model.BranchAndFinancialInstitutionIdentification5 fiidFr =
                new Model.BranchAndFinancialInstitutionIdentification5();
            fiidFr.FinInstnId = finInstnIdFr;
            Model.Party9Choice from = new Model.Party9Choice();
            from.Item = fiidFr;
            //To
            Model.GenericFinancialIdentification1 othrTo =
                new Model.GenericFinancialIdentification1();
            othrTo.Id = pacs008.AppHdr.To.Item.FinInstnId.Othr.Id;
            Model.FinancialInstitutionIdentification8 finInstnIdTo =
                new Model.FinancialInstitutionIdentification8();
            finInstnIdTo.Othr = othrTo;
            Model.BranchAndFinancialInstitutionIdentification5 fiidTo =
                new Model.BranchAndFinancialInstitutionIdentification5();
            fiidTo.FinInstnId = finInstnIdTo;
            Model.Party9Choice to = new Model.Party9Choice();
            to.Item = fiidTo;
            //Outros campos do Header
            SPIhead00100101 header = new SPIhead00100101();

            header.Fr        = from;
            header.To        = to;
            header.BizMsgIdr = pacs008.AppHdr.BizMsgIdr;
            header.MsgDefIdr = "pacs.002.spi.1.3";
            header.CreDt     = pacs008.AppHdr.CreDt;

            // Group do Rpt
            GroupHeader91 grpHdr = new GroupHeader91();

            // Aqui estou colocando a mesma MsgId, mas aqui deve-se criar uma nova
            grpHdr.MsgId   = pacs008.Document.FIToFICstmrCdtTrf.GrpHdr.MsgId;
            grpHdr.CreDtTm = pacs008.Document.FIToFICstmrCdtTrf.GrpHdr.CreDtTm;
            // TxInfAndSts
            PaymentTransaction110 txInfAndSts = new PaymentTransaction110();

            txInfAndSts.OrgnlInstrId    = pacs008.Document.FIToFICstmrCdtTrf.CdtTrfTxInf[0].PmtId.EndToEndId;
            txInfAndSts.OrgnlEndToEndId = pacs008.Document.FIToFICstmrCdtTrf.CdtTrfTxInf[0].PmtId.EndToEndId;
            txInfAndSts.TxSts           = ExternalPaymentTransactionStatus1Code.ACSP;

            FIToFIPaymentStatusReportV10 fIToFIPmtStsRpt = new FIToFIPaymentStatusReportV10();

            fIToFIPmtStsRpt.GrpHdr = grpHdr;
            PaymentTransaction110[] array = new PaymentTransaction110[1];
            array[0] = txInfAndSts;
            fIToFIPmtStsRpt.TxInfAndSts = array;

            SPIpacs00200110 doc = new SPIpacs00200110();

            doc.FIToFIPmtStsRpt = fIToFIPmtStsRpt;

            SPIEnvelopeMessage pacs002 = new SPIEnvelopeMessage();

            pacs002.AppHdr   = header;
            pacs002.Document = doc;

            //using System.Xml.Serialization

            /*XmlSerializer ser = new XmlSerializer(typeof(SPIEnvelopeMessage));
             * StringWriter textWriter = new StringWriter();
             * ser.Serialize(textWriter, pacs002);
             */

            MemoryStream  stream  = new MemoryStream();
            StreamWriter  writer  = new StreamWriter(stream, System.Text.Encoding.UTF8);
            XmlSerializer serUtf8 = new XmlSerializer(typeof(SPIEnvelopeMessage));

            serUtf8.Serialize(writer, pacs002);

            return(System.Text.Encoding.UTF8.GetString(stream.ToArray()));
        }