Ejemplo n.º 1
0
        public override void SetupData(XmlDocument doc)
        {
            XmlNodeList methods = null;

            try
            {
                // In case GetStoreId fails
                Summa.ErrorLevelFile = FileLogger.LogErrorLevelFile.TransactionXMLFile;
                Summa.ErrorStrDetail = doc.DocumentElement.Attributes["id"].Name;

                FULLFILEPATH += SummaFileName.GetName(SummaFileName.SummaFileType.TransactionPaymentMethods, SummaTransactionCommon.GetStoreId(doc));

                methods = doc.DocumentElement.SelectNodes("/Transaction/Receipt/Payment");

                if (methods.Count == 0)
                {
                    Summa.SingletonLoggerStatic.Log(string.Format(string.Format("No payment methods for txn # {0}",
                                                                                SummaTransactionCommon.GetTransactionID(doc))));

                    //Summa.LOGGER.Log(LogLevel.Warn, string.Format("No payment methods for txn # {0}",
                    //    SummaTransactionCommon.GetTransactionID(doc)));
                }

                int counter = 0;
                foreach (XmlNode paymentNode in methods)
                {
                    csvData.Add(new List <string>());
                    csvData[counter].Add(SummaTransactionCommon.GetTransactionPaymentID(paymentNode));
                    csvData[counter].Add(SummaTransactionCommon.GetTransactionID(doc));
                    csvData[counter].Add(SummaPaymentMethodsCommon.GetPaymentId(paymentNode));
                    csvData[counter].Add(SummaPaymentMethodsCommon.GetCardNumber(paymentNode));
                    csvData[counter].Add(SummaPaymentMethodsCommon.GetSalesValue(paymentNode));
                    csvData[counter].Add(SummaTransactionCommon.GetStoreId(doc));

                    counter++;
                    csvLineData.Add(new StringBuilder());
                }
            }
            catch (Exception e) {
                SummaException se = new SummaException("Problem processing transaction payment methods", e);
                se.Data = doc.OuterXml;
                throw se;
            }
        }