public string GenerateISO20022CustomerDirectDebitInitiationMessage( DateTime generationDateTime, Creditor creditor, CreditorAgent creditorAgent, DirectDebitInitiationContract directDebitInitiationContract, DirectDebitRemittance directDebitRemmitance) { PartyIdentification32 initiationParty_InitPty = GenerateInitiationParty_InitPty(creditor, directDebitInitiationContract); GroupHeader39 groupHeader_GrpHdr = GenerateGroupHeader_GrpHdr(generationDateTime, directDebitRemmitance, initiationParty_InitPty); List<PaymentInstructionInformation4> paymentInformation_PmtInf_List = new List<PaymentInstructionInformation4>(); List<DirectDebitTransactionInformation9> directDebitTransactionInfoList = new List<DirectDebitTransactionInformation9>(); foreach (DirectDebitTransactionsGroupPayment directDebitTransactionsGroupPayment in directDebitRemmitance.DirectDebitTransactionGroupPaymentCollection) { foreach (DirectDebitTransaction directDebitTransaction in directDebitTransactionsGroupPayment.DirectDebitTransactionsCollection) { DirectDebitTransactionInformation9 directDebitTransactionInfo_DrctDbtTxInf = GenerateDirectDebitTransactionInfo_DrctDbtTxInf( creditorAgent, directDebitTransaction); directDebitTransactionInfoList.Add(directDebitTransactionInfo_DrctDbtTxInf); } PaymentInstructionInformation4 paymentInformation_PmtInf = GeneratePaymentInformation_PmtInf( creditor, creditorAgent, directDebitInitiationContract, directDebitRemmitance, directDebitTransactionInfoList); paymentInformation_PmtInf_List.Add(paymentInformation_PmtInf); } PaymentInstructionInformation4[] paymentInformation_PmtInf_Array = paymentInformation_PmtInf_List.ToArray(); CustomerDirectDebitInitiationV02 customerDebitInitiationV02_Document = new CustomerDirectDebitInitiationV02( groupHeader_GrpHdr, //<GrpHdr> paymentInformation_PmtInf_Array); //<PmtInf> Document document_Document = new Document(customerDebitInitiationV02_Document); string xMLNamespace = "urn:iso:std:iso:20022:tech:xsd:pain.008.001.02"; string xmlString = XMLSerializer.XMLSerializeToString<Document>(document_Document, "Document", xMLNamespace); return xmlString; }
public void Documet_Document_IsCorrectlyCreated() { GroupHeader39 groupHeader = XMLSerializer.XMLDeserializeFromFile<GroupHeader39>(@"XML Test Files\GroupHeader.xml", "GrpHdr", xMLNamespace); PaymentInstructionInformation4 paymentInformation_PmtInf = XMLSerializer.XMLDeserializeFromFile<PaymentInstructionInformation4>(@"XML Test Files\PaymentInformation.xml", "PmtInf", xMLNamespace); CustomerDirectDebitInitiationV02 customerDebitInitiationV02_Document = new CustomerDirectDebitInitiationV02( groupHeader, new PaymentInstructionInformation4[] { paymentInformation_PmtInf }); Document document_Document = new Document(customerDebitInitiationV02_Document); string xmlString = XMLSerializer.XMLSerializeToString<Document>(document_Document, "Document", xMLNamespace); string validatingErrors = XMLValidator.ValidateXMLStringThroughXSDFile(xmlString, xSDFilePath); Assert.AreEqual("", validatingErrors); }