Example #1
0
        public override void SetupData(XmlDocument doc)
        {
            XmlNodeList patronTotals = null;

            try
            {
                FULLFILEPATH += SummaFileName.GetName(SummaFileName.SummaFileType.PatronCountsTotals, SummaCommon.GetStoreId(doc));

                patronTotals = doc.DocumentElement.SelectNodes("/TotalsPatron/PatronType");
                int c = 0;
                foreach (XmlNode patronTotalNode in patronTotals)
                {
                    csvData.Add(new List <string>());

                    csvData[c].Add(GetPatronId(patronTotalNode));
                    csvData[c].Add(GetPatronCount(patronTotalNode));
                    csvData[c].Add(GetTimestamp(patronTotalNode));
                    csvData[c].Add(GetTillId(doc));
                    csvData[c].Add(doc.DocumentElement.Attributes["SiteID"].Value);

                    c++;
                    csvLineData.Add(new StringBuilder());
                }
            }
            catch (Exception e) {
                SummaException se = new SummaException("Problem processing patron totals", e);
                se.Data = doc.OuterXml;
                throw se;
            }
        }
Example #2
0
        public override void SetupData(XmlDocument doc)
        {
            FULLFILEPATH += SummaFileName.GetName(SummaFileName.SummaFileType.ListPatronsTypes, SummaCommon.GetStoreId(doc));

            XmlNodeList patrons = null;

            try
            {
                patrons = doc.DocumentElement.SelectNodes("/ListPatronTypes/PatronType");
                int c = 0;
                foreach (XmlNode patronNode in patrons)
                {
                    csvData.Add(new List <string>());

                    csvData[c].Add(GetPatronId(patronNode));
                    csvData[c].Add(GetPatronName(patronNode));
                    csvData[c].Add(GetStoreId(doc));
                    c++;
                    csvLineData.Add(new StringBuilder());
                }
            }
            catch (Exception e) {
                SummaException se = new SummaException("Problem processing patron types", e);
                se.Data = doc.OuterXml;
                throw se;
            }
        }
Example #3
0
        public override void SetupData(XmlDocument doc)
        {
            XmlNodeList groups = null;

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

                FULLFILEPATH += SummaFileName.GetName(SummaFileName.SummaFileType.CustomerRanking, NewSummaGroupsCommon.GetStoreId(doc));

                groups = doc.DocumentElement.SelectNodes("/ListMemberGroups/Group");

                int counter = 0;
                foreach (XmlNode groupNode in groups)
                {
                    csvData.Add(new List <string>());

                    csvData[counter].Add(NewSummaGroupsCommon.GetGroupId(groupNode));
                    csvData[counter].Add(NewSummaGroupsCommon.GetGroupName(groupNode));
                    csvData[counter].Add(NewSummaGroupsCommon.GetStatus(groupNode));
                    csvData[counter].Add(NewSummaGroupsCommon.GetStoreId(doc));

                    counter++;
                    csvLineData.Add(new StringBuilder());
                }
            }
            catch (Exception e)
            {
                SummaException se = new SummaException("Problem processing groups", e);
                se.Data = doc.OuterXml;
                throw se;
            }
        }
Example #4
0
        /// <summary>
        /// Setup internal data values for each product.
        /// </summary>
        /// <param name="doc"></param>
        public override void SetupData(XmlDocument doc)
        {
            XmlNodeList products = null;

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

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

                products = doc.DocumentElement.SelectNodes("/Transaction/Receipt/Product");

                int counter = 0;
                foreach (XmlNode productNode in products)
                {
                    csvData.Add(new List <string>());

                    #region Specs v1.2
                    csvData[counter].Add(GetTransactionDetailID(doc, productNode));
                    #endregion

                    csvData[counter].Add(SummaTransactionCommon.GetTransactionID(doc));
                    csvData[counter].Add(SummaTransactionProductCommon.GetProductId(productNode));
                    csvData[counter].Add(GetQty(doc, productNode));

                    #region Old Specs
                    //csvData[counter].Add(SummaTransactionProductCommon.GetUnitPrice(productNode));
                    //csvData[counter].Add(SummaTransactionProductCommon.GetDiscount(productNode));
                    #endregion

                    #region Specs v1.2
                    // GST = Tax, in this context
                    csvData[counter].Add(GetUnitPriceXGST(productNode));
                    csvData[counter].Add(GetGSTAmount(productNode));

                    csvData[counter].Add(SummaTransactionProductCommon.GetDiscountXGST(productNode));
                    csvData[counter].Add(SummaTransactionProductCommon.GetDiscountGSTAmount(productNode));
                    #endregion

                    csvData[counter].Add(SummaTransactionProductCommon.GetPromotionId(productNode));
                    csvData[counter].Add(SummaTransactionProductCommon.GetBarcode(productNode));
                    csvData[counter].Add(SummaTransactionCommon.GetStoreId(doc));

                    counter++;
                    csvLineData.Add(new StringBuilder());
                }
            }
            catch (Exception e) {
                SummaException se = new SummaException("Problem processing transaction detail", e);
                se.Data = doc.OuterXml;
                throw se;
            }
        }
Example #5
0
        public override void SetupData(XmlDocument doc)
        {
            FULLFILEPATH += SummaFileName.GetName(SummaFileName.SummaFileType.HourlyTotals, SummaCommon.GetStoreId(doc));

            XmlNodeList hourTotals = null;

            try
            {
                hourTotals = doc.DocumentElement.SelectNodes("/TotalsHourlySales/Hour");

                int counter = 0;
                foreach (XmlNode hourTotalNode in hourTotals)
                {
                    csvData.Add(new List <string>());

                    csvData[counter].Add(SummaHourlyTotalsCommon.GetHourId(hourTotalNode));
                    csvData[counter].Add(SummaHourlyTotalsCommon.GetTransQty(hourTotalNode));

                    #region Old Specs
                    //csvData[counter].Add(SummaHourlyTotalsCommon.GetHourlyTotal(hourTotalNode));
                    #endregion

                    #region Specs v1.2
                    csvData[counter].Add(SummaHourlyTotalsCommon.GetHourlySalesXTax(hourTotalNode));
                    csvData[counter].Add(SummaHourlyTotalsCommon.GetTotalTaxAmount(hourTotalNode));
                    #endregion

                    csvData[counter].Add(SummaHourlyTotalsCommon.GetDateTime(hourTotalNode));
                    csvData[counter].Add(SummaCommon.GetStoreId(doc));
                    csvData[counter].Add(SummaCommon.GetTillId(doc));

                    counter++;
                    csvLineData.Add(new StringBuilder());

/*
 *                  if ((counter == 1) || (counter > hourTotals.Count))
 *                  {
 *                      csvLineData.Add(new StringBuilder());
 *                  }
 *                  else
 *                  {
 *                      csvLineData.Add(new StringBuilder(","));
 *                  }
 */
                }
            }
            catch (Exception e) {
                SummaException se = new SummaException("Problem processing hourly sales", e);
                se.Data = doc.OuterXml;
                throw se;
            }
        }
Example #6
0
        public override void SetupData(XmlDocument doc)
        {
            XmlNodeList productTotals = null;

            try
            {
                FULLFILEPATH += SummaFileName.GetName(SummaFileName.SummaFileType.ProductTotals, SummaCommon.GetStoreId(doc));

                productTotals = doc.DocumentElement.SelectNodes("/TotalsProducts/Product");

                int counter = 0;
                foreach (XmlNode productTotalNode in productTotals)
                {
                    csvData.Add(new List <string>());

                    csvData[counter].Add(SummaProductTotalsCommon.GetProductId(productTotalNode));
                    csvData[counter].Add(SummaProductTotalsCommon.GetQty(productTotalNode));

                    #region Old Specs
                    //  csvData[counter].Add(SummaProductTotalsCommon.GetTotalSales(productTotalNode));
                    #endregion

                    #region Specs v1.2
                    csvData[counter].Add(SummaProductTotalsCommon.GetTotalSalesXTax(productTotalNode));
                    csvData[counter].Add(SummaProductTotalsCommon.GetTotalTaxAmount(productTotalNode));
                    #endregion

                    csvData[counter].Add(SummaProductTotalsCommon.GetTimestamp(productTotalNode));
                    csvData[counter].Add(SummaCommon.GetStoreId(doc));
                    csvData[counter].Add(SummaCommon.GetTillId(doc));

                    counter++;
                    csvLineData.Add(new StringBuilder());

/*
 *                  if ((counter == 1) || (counter > productTotals.Count))
 *                  {
 *                      csvLineData.Add(new StringBuilder());
 *                  }
 *                  else
 *                  {
 *                      csvLineData.Add(new StringBuilder(","));
 *                  }
 */
                }
            }
            catch (Exception e) {
                SummaException se = new SummaException("Problem processing product totals", e);
                se.Data = doc.OuterXml;
                throw se;
            }
        }
Example #7
0
        /// <summary>
        /// Deconstruct xml document and populate internal data fields
        /// </summary>
        /// <param name="doc"></param>
        public override void SetupData(XmlDocument doc)
        {
            try
            {
                // In case GetStoreId fails
                Summa.ErrorLevelFile = FileLogger.LogErrorLevelFile.TransactionXMLFile;
                Summa.ErrorStrDetail = doc.DocumentElement.Attributes["id"].Name;

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

                csvData.Add(new List <string>());
                csvLineData.Add(new StringBuilder());

                csvData[0].Add(SummaTransactionCommon.GetTransactionID(doc));
                csvData[0].Add(SummaTransactionCommon.GetTransactionType(doc));
                csvData[0].Add(SummaTransactionCommon.GetTerminalID(doc));

                csvData[0].Add(SummaTransactionCommon.GetCustomerId(doc));

                //string id = SummaTransactionCommon.GetCustomerId(doc);
                //CheckCustomerID.Check(id);
                //csvData[0].Add(id);

                #region Old Specs
                //csvData[0].Add(SummaTransactionCommon.GetSalesTotal(doc));
                #endregion

                #region Specs v1.2
                csvData[0].Add(GetSalesTotalXTax(doc));      // Sales Total Excluding Tax
                csvData[0].Add(GetSalesTotalTaxAmount(doc)); // Sales Total Tax Amount

                csvData[0].Add(GetDiscountXTax(doc));        // Discount Excluding Tax
                csvData[0].Add(GetDiscountTaxAmount(doc));   // Discount Tax Amount
                #endregion

                csvData[0].Add(SummaTransactionCommon.GetDateStamp(doc));
                csvData[0].Add(SummaTransactionCommon.GetPromotionId(doc));
                csvData[0].Add(SummaTransactionCommon.GetOperatorId(doc));
                csvData[0].Add(SummaTransactionCommon.GetExtra1(doc));
                csvData[0].Add(SummaTransactionCommon.GetExtra2(doc));
                csvData[0].Add(SummaTransactionCommon.GetExtra3(doc));
                csvData[0].Add(SummaTransactionCommon.GetStoreId(doc));
            }
            catch (Exception e)
            {
                SummaException se = new SummaException("Problem processing transaction", e);
                se.Data = doc.OuterXml;
                throw se;
            }
        }
Example #8
0
        public override void SetupData(XmlDocument doc)
        {
            XmlNodeList departmentTotals = null;

            try
            {
                FULLFILEPATH += SummaFileName.GetName(SummaFileName.SummaFileType.CategoriesTotals, SummaCommon.GetStoreId(doc));

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

                departmentTotals = doc.DocumentElement.SelectNodes("/TotalsCategories/Category");

                int counter = 0;
                foreach (XmlNode departmentTotalNode in departmentTotals)
                {
                    csvData.Add(new List <string>());

                    csvData[counter].Add(SummaDepartmentTotals.GetDepartmentId(departmentTotalNode));
                    csvData[counter].Add(SummaDepartmentTotals.GetQtySold(departmentTotalNode));
                    csvData[counter].Add(SummaDepartmentTotals.GetTotalSales(departmentTotalNode));
                    csvData[counter].Add(SummaDepartmentTotals.GetTimestamp(departmentTotalNode));
                    csvData[counter].Add(SummaCommon.GetStoreId(doc));
                    csvData[counter].Add(SummaCommon.GetTillId(doc));

                    counter++;
                    csvLineData.Add(new StringBuilder());

/*
 *                  if ((counter == 1) || (counter > departmentTotals.Count))
 *                  {
 *                      csvLineData.Add(new StringBuilder());
 *                  }
 *                  else
 *                  {
 *                      csvLineData.Add(new StringBuilder(","));
 *                  }
 */
                }
            }
            catch (Exception e) {
                SummaException se = new SummaException("Problem processing department totals", e);
                se.Data = doc.OuterXml;
                throw se;
            }
        }
Example #9
0
        public override void SetupData(System.Xml.XmlDocument doc)
        {
            try
            {
                // In case GetStoreId fails
                Summa.ErrorLevelFile = FileLogger.LogErrorLevelFile.TotalsDiscountsXMLFile;
                Summa.ErrorStrDetail = doc.DocumentElement.Attributes["id"].Name;

                FULLFILEPATH += SummaFileName.GetName(SummaFileName.SummaFileType.FreeListTotals, SummaCommon.GetStoreId(doc));

                XmlNodeList freeListTotals = null;

                freeListTotals = doc.DocumentElement.SelectNodes("/TotalsDiscounts/Discount");

                int counter = 0;
                foreach (XmlNode freeListTotalNode in freeListTotals)
                {
                    csvData.Add(new List <string>());

                    csvData[counter].Add(SummaFreeListTotals.GetId(freeListTotalNode));
                    csvData[counter].Add(SummaFreeListTotals.GetCount(freeListTotalNode));
                    csvData[counter].Add(SummaFreeListTotals.GetTotalSales(freeListTotalNode));
                    csvData[counter].Add(SummaFreeListTotals.GetTimestamp(freeListTotalNode));
                    csvData[counter].Add(SummaCommon.GetStoreId(doc));
                    csvData[counter].Add(SummaCommon.GetTillId(doc));

                    counter++;
                    csvLineData.Add(new StringBuilder());

/*
 *                  if ((counter == 1) || (counter > freeListTotals.Count))
 *                  {
 *                      csvLineData.Add(new StringBuilder());
 *                  }
 *                  else
 *                  {
 *                      csvLineData.Add(new StringBuilder(","));
 *                  }
 */
                }
            }
            catch (Exception e) {
                SummaException se = new SummaException("Problem processing free list totals", e);
                se.Data = doc.OuterXml;
                throw se;
            }
        }
Example #10
0
        public override void SetupData(System.Xml.XmlDocument doc)
        {
            XmlNodeList departments = null;

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

                FULLFILEPATH += SummaFileName.GetName(SummaFileName.SummaFileType.SubCategories, SummaCommon.GetStoreId(doc));

                departments = doc.DocumentElement.SelectNodes("/ListCategories/Category");

                int counter = 0;
                foreach (XmlNode categoryNode in departments)
                {
                    csvData.Add(new List <string>());

                    csvData[counter].Add(SummaDepartmentsCommon.GetDepartmentId(categoryNode));
                    csvData[counter].Add(SummaDepartmentsCommon.GetDepartmentName(categoryNode));
                    csvData[counter].Add(SummaDepartmentsCommon.GetDepartmentGroupId(categoryNode));
                    csvData[counter].Add(SummaDepartmentsCommon.GetStoreId(doc));

                    counter++;
                    csvLineData.Add(new StringBuilder());

/*
 *                  if ((counter == 1) || (counter > departments.Count))
 *                  {
 *                      csvLineData.Add(new StringBuilder());
 *                  }
 *                  else
 *                  {
 *                      csvLineData.Add(new StringBuilder(","));
 *                  }
 */
                }
            }
            catch (Exception e) {
                SummaException se = new SummaException("Problem processing departments", e);
                se.Data = doc.OuterXml;
                throw se;
            }
        }
Example #11
0
        public override void SetupData(System.Xml.XmlDocument doc)
        {
            try
            {
                XmlNodeList payments = null;

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

                FULLFILEPATH += SummaFileName.GetName(SummaFileName.SummaFileType.PaymentMethodTypes, SummaCommon.GetStoreId(doc));

                payments = doc.DocumentElement.SelectNodes("/ListPaymentTypes/Payment");

                int counter = 0;
                foreach (XmlNode paymentTypeNode in payments)
                {
                    csvData.Add(new List <string>());

                    csvData[counter].Add(SummaPaymentTypeCommon.GetPaymentTypeId(paymentTypeNode));
                    csvData[counter].Add(SummaPaymentTypeCommon.GetPaymentTypeName(paymentTypeNode));
                    csvData[counter].Add(SummaPaymentTypeCommon.GetStoreId(doc));

                    counter++;
                    csvLineData.Add(new StringBuilder());

/*
 *                  if ((counter == 1 ) || (counter > payments.Count))
 *                  {
 *                      csvLineData.Add(new StringBuilder());
 *                  }
 *                  else
 *                  {
 *                      csvLineData.Add(new StringBuilder(","));
 *                  }
 */
                }
            }
            catch (Exception e) {
                SummaException se = new SummaException("Problem processing payment method types", e);
                se.Data = doc.OuterXml;
                throw se;
            }
        }
Example #12
0
        public override void SetupData(System.Xml.XmlDocument doc)
        {
            XmlNodeList operators = null;

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

                FULLFILEPATH += SummaFileName.GetName(SummaFileName.SummaFileType.Operators, SummaCommon.GetStoreId(doc));

                operators = doc.DocumentElement.SelectNodes("/ListStaff/Staff");

                int counter = 0;
                foreach (XmlNode operatorNode in operators)
                {
                    csvData.Add(new List <string>());

                    csvData[counter].Add(SummaOperatorsCommon.GetOperatorId(operatorNode));
                    csvData[counter].Add(SummaOperatorsCommon.GetOperatorName(operatorNode));
                    csvData[counter].Add(SummaOperatorsCommon.GetStoreId(doc));

                    counter++;
                    csvLineData.Add(new StringBuilder());

/*
 *                  if ((counter == 1) || (counter > operators.Count))
 *                  {
 *                      csvLineData.Add(new StringBuilder());
 *                  }
 *                  else
 *                  {
 *                      csvLineData.Add(new StringBuilder(","));
 *                  }
 */
                }
            }
            catch (Exception e) {
                SummaException se = new SummaException("Problem processing operators", e);
                se.Data = doc.OuterXml;
                throw se;
            }
        }
        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;
            }
        }
Example #14
0
        public override void SetupData(System.Xml.XmlDocument doc)
        {
            XmlNodeList groupTotals = null;

            try
            {
                FULLFILEPATH += SummaFileName.GetName(SummaFileName.SummaFileType.GroupTotals, SummaCommon.GetStoreId(doc));

                groupTotals = doc.DocumentElement.SelectNodes("/TotalsGroups/Group");

                int counter = 0;
                foreach (XmlNode groupTotalNode in groupTotals)
                {
                    csvData.Add(new List <string>());

                    csvData[counter].Add(SummaGroupTotals.GetGroupId(groupTotalNode));
                    csvData[counter].Add(SummaGroupTotals.GetQtySold(groupTotalNode));
                    csvData[counter].Add(SummaGroupTotals.GetTotalSales(groupTotalNode));
                    csvData[counter].Add(SummaGroupTotals.GetTimestamp(groupTotalNode));
                    csvData[counter].Add(SummaCommon.GetStoreId(doc));
                    csvData[counter].Add(SummaCommon.GetTillId(doc));

                    counter++;
                    csvLineData.Add(new StringBuilder());

/*
 *                  if ((counter == 1) || (counter > groupTotals.Count))
 *                  {
 *                      csvLineData.Add(new StringBuilder());
 *                  }
 *                  else
 *                  {
 *                      csvLineData.Add(new StringBuilder(","));
 *                  }
 */
                }
            }
            catch (Exception e) {
                SummaException se = new SummaException("Problem processing group totals", e);
                se.Data = doc.OuterXml;
                throw se;
            }
        }
Example #15
0
        public override void SetupData(XmlDocument doc)
        {
            FULLFILEPATH += SummaFileName.GetName(SummaFileName.SummaFileType.PaymentTotals, SummaCommon.GetStoreId(doc));

            XmlNodeList paymentMethodTotals = null;

            try {
                paymentMethodTotals = doc.DocumentElement.SelectNodes("/TotalsPayments/TotalPayment");

                int counter = 0;
                foreach (XmlNode paymentTotalNode in paymentMethodTotals)
                {
                    csvData.Add(new List <string>());

                    csvData[counter].Add(SummaPaymentMethodTotalsCommon.GetPaymentId(paymentTotalNode));
                    csvData[counter].Add(SummaPaymentMethodTotalsCommon.GetTransactionCount(paymentTotalNode));
                    csvData[counter].Add(SummaPaymentMethodTotalsCommon.GetTotal(paymentTotalNode));
                    csvData[counter].Add(SummaPaymentMethodTotalsCommon.GetTimestamp(paymentTotalNode));
                    csvData[counter].Add(SummaCommon.GetStoreId(doc));
                    csvData[counter].Add(SummaCommon.GetTillId(doc));

                    counter++;
                    csvLineData.Add(new StringBuilder());

/*
 *                  if ((counter == 1) || (counter > paymentMethodTotals.Count))
 *                  {
 *                      csvLineData.Add(new StringBuilder());
 *                  }
 *                  else
 *                  {
 *                      csvLineData.Add(new StringBuilder(","));
 *                  }
 */
                }
            }
            catch (Exception e) {
                SummaException se = new SummaException("Problem processing payment method totals", e);
                se.Data = doc.OuterXml;
                throw se;
            }
        }
Example #16
0
 void createZIPFiles()
 {
     try
     {
         if (SummaZIP.SaveAndClean(_outputFilePath, SummaFileName.GetZIPName(_outputFilePath)))
         {
             _singletonLogger.Log("... New ZIP file created");
         }
         else
         {
             _singletonLogger.Log("... No new ZIP file created");
         }
     }
     catch (Exception e)
     {
         _singletonLogger.LogException(FileLogger.LogErrorLevel.CreateZIPFailed,
                                       FileLogger.LogErrorLevelFile.None,
                                       @"Creating ZIP file returned an error",
                                       e);
         _singletonLogger.LogWarning(@"Summa failed creating a ZIP file.  See the log file for details");
     }
 }
Example #17
0
        /// <summary>
        /// Deconstruct xml document and populate internal data fields
        /// </summary>
        /// <param name="doc"></param>
        public override void SetupData(XmlDocument doc)
        {
            FULLFILEPATH += SummaFileName.GetName(SummaFileName.SummaFileType.TransactionCheck, SummaTransactionCommon.GetStoreId(doc));

            try
            {
                csvData.Add(new List <string>());
                csvLineData.Add(new StringBuilder());

                csvData[0].Add(SummaTransactionCommon.GetTransactionID(doc));
                csvData[0].Add(SummaTransactionCommon.GetSalesTotalXTax(doc));  // Sales Total Excluding Tax

                //XmlNode productNode = doc.DocumentElement.SelectSingleNode("/Transaction/Receipt/Product");

                XmlNodeList products = doc.DocumentElement.SelectNodes("/Transaction/Receipt/Product");

                decimal summaNetXTax = 0;
                decimal quantity     = 0;
                decimal unitPrice    = 0;

                foreach (XmlNode productNode in products)
                {
                    summaNetXTax += Convert.ToDecimal(SummaTransactionProductCommon.GetSummaNetXTax(productNode));
                    quantity     += Convert.ToDecimal(SummaTransactionProductCommon.GetQuantity(productNode));
                    unitPrice    += Convert.ToDecimal(SummaTransactionProductCommon.GetUnitPriceXGST(productNode));
                }

                csvData[0].Add(string.Format("{0:#.00}", Math.Abs(summaNetXTax)));
                csvData[0].Add(string.Format("{0:#.00}", Math.Abs(quantity)));
                csvData[0].Add(string.Format("{0:#.00}", Math.Abs(unitPrice)));
            }
            catch (Exception e)
            {
                SummaException se = new SummaException("Problem processing transaction", e);
                se.Data = doc.OuterXml;
                throw se;
            }
        }
Example #18
0
        /// <summary>
        /// Deconstruct xml document and populate internal data fields
        /// </summary>
        /// <param name="doc"></param>
        public override void SetupData(XmlDocument doc)
        {
            try
            {
                // In case GetStoreId fails
                Summa.ErrorLevelFile = FileLogger.LogErrorLevelFile.VersionXMLFile;
                Summa.ErrorStrDetail = doc.DocumentElement.Attributes["id"].Name;

                FULLFILEPATH += SummaFileName.GetName(SummaFileName.SummaFileType.Version, SummaCommon.GetStoreId(doc));

                csvData.Add(new List <string>());
                csvLineData.Add(new StringBuilder());

                csvData[0].Add(SummaCommon.GetPOSVersion(doc));
                csvData[0].Add(SummaCommon.GetInterfaceVersion(doc));
            }
            catch (Exception e)
            {
                SummaException se = new SummaException("Problem processing version", e);
                se.Data = doc.OuterXml;
                throw se;
            }
        }
Example #19
0
        public override void SetupData(XmlDocument doc)
        {
            XmlNodeList customers = null;

            try
            {
                Summa.ErrorLevelFile = FileLogger.LogErrorLevelFile.UpdateMemberXMLFile;
                Summa.ErrorStrDetail = doc.DocumentElement.Attributes["id"].Name;

                FULLFILEPATH += SummaFileName.GetName(SummaFileName.SummaFileType.Customers, SummaCommon.GetStoreId(doc));

                customers = doc.DocumentElement.SelectNodes("/UpdateMember/Member");

                int counter = 0;
                foreach (XmlNode customerNode in customers)
                {
                    csvData.Add(new List <string>());

                    csvData[counter].Add(GetCustomerId(customerNode));

                    //string id = GetCustomerId(customerNode);
                    //CheckCustomerID.Check(id);
                    //csvData[counter].Add(id);

                    csvData[counter].Add(GetCustomerTitle(customerNode));
                    csvData[counter].Add(GetFirstName(customerNode));
                    csvData[counter].Add(GetMiddleName(customerNode));
                    csvData[counter].Add(GetLastName(customerNode));
                    csvData[counter].Add(GetNickName(customerNode));
                    csvData[counter].Add(GetGender(customerNode));
                    csvData[counter].Add(GetCustomerDOB(customerNode));
                    csvData[counter].Add(GetEnrolmentDate(customerNode));
                    csvData[counter].Add(GetCustomerCode(customerNode));
                    csvData[counter].Add(GetExternalCustomerId(customerNode));
                    csvData[counter].Add(GetActiveStatus(customerNode));
                    csvData[counter].Add(GetAddress1(customerNode));
                    csvData[counter].Add(GetAddress2(customerNode));
                    csvData[counter].Add(GetSuburb(customerNode));
                    csvData[counter].Add(GetCity(customerNode));
                    csvData[counter].Add(GetState(customerNode));
                    csvData[counter].Add(GetCountry(customerNode));
                    csvData[counter].Add(GetPostalAddress1(customerNode));
                    csvData[counter].Add(GetPostalAddress2(customerNode));
                    csvData[counter].Add(GetPostalAddressSuburb(customerNode));
                    csvData[counter].Add(GetPostalAddressCity(customerNode));
                    csvData[counter].Add(GetPostalAddressState(customerNode));
                    csvData[counter].Add(GetPostalAddressCountry(customerNode));
                    csvData[counter].Add(PostalCode(customerNode));
                    csvData[counter].Add(GetPhoneMobile(customerNode));
                    csvData[counter].Add(GetPhoneWork(customerNode));
                    csvData[counter].Add(GetPhoneHome(customerNode));
                    csvData[counter].Add(GetFax(customerNode));
                    csvData[counter].Add(GetEmail(customerNode));
                    csvData[counter].Add(GetBankAccount1(customerNode));
                    csvData[counter].Add(GetBankAccount2(customerNode));
                    csvData[counter].Add(GetBankAccount3(customerNode));
                    csvData[counter].Add(GetBankAccount4(customerNode));
                    csvData[counter].Add(GetWebsite(customerNode));
                    csvData[counter].Add(GetCompany(customerNode));
                    csvData[counter].Add(GetJobTitle(customerNode));
                    csvData[counter].Add(GetEthnicityId(customerNode));
                    csvData[counter].Add(GetMarriedStatus(customerNode));
                    csvData[counter].Add(GetNumberOfChildren(customerNode));
                    csvData[counter].Add(GetRankingId(customerNode));
                    csvData[counter].Add(GetIncomeId(customerNode));
                    csvData[counter].Add(GetOccupationId(customerNode));
                    csvData[counter].Add(GetCustomerGroupId(customerNode));
                    csvData[counter].Add(GetCurrentBalance(customerNode));
                    csvData[counter].Add(GetRewardBalance(customerNode));
                    csvData[counter].Add(GetGiftBalance(customerNode));
                    csvData[counter].Add(GetVoucherBalance(customerNode));
                    csvData[counter].Add(GetLogin(customerNode));
                    csvData[counter].Add(GetPassword(customerNode));
                    csvData[counter].Add(GetLastModified(customerNode));
                    csvData[counter].Add(GetIPAddress(customerNode));
                    csvData[counter].Add(GetExtra1(customerNode));
                    csvData[counter].Add(GetExtra2(customerNode));
                    csvData[counter].Add(GetExtra3(customerNode));
                    csvData[counter].Add(GetExtra4(customerNode));
                    csvData[counter].Add(GetExtra5(customerNode));
                    csvData[counter].Add(GetExtra6(customerNode));
                    csvData[counter].Add(GetExtra7(customerNode));
                    csvData[counter].Add(GetExtra8(customerNode));
                    csvData[counter].Add(GetExtra9(customerNode));
                    csvData[counter].Add(GetExtra10(customerNode));
                    csvData[counter].Add(GetComments(customerNode));
                    csvData[counter].Add(GetCardId(customerNode));
                    csvData[counter].Add(GetCardExpiryDate(customerNode));
                    csvData[counter].Add(GetCardActiveStatus(customerNode));
                    csvData[counter].Add(GetCardPrintStatus(customerNode));

                    csvData[counter].Add(GetStoreId(doc.DocumentElement));
                    //csvData[counter].Add(GetStoreId(customerNode));

                    counter++;
                    csvLineData.Add(new StringBuilder());

/*
 *                  if ((counter == 1) || (counter > customers.Count))
 *                  {
 *                      csvLineData.Add(new StringBuilder());
 *                  }
 *                  else
 *                  {
 *                      csvLineData.Add(new StringBuilder(","));
 *                  }
 */
                }
            }
            catch (Exception e)
            {
                SummaException se = new SummaException("Problem processing customer", e);
                se.Data = doc.OuterXml;
                throw se;
            }
        }
Example #20
0
        public override void SetupData(XmlDocument doc)
        {
            FULLFILEPATH += SummaFileName.GetName(SummaFileName.SummaFileType.Products, SummaCommon.GetStoreId(doc));

            List <string> productIds = new List <string>();

            XmlNodeList menus = null;

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

                menus = doc.DocumentElement.SelectNodes("//Menu");

                int lineCounter = 0;
                foreach (XmlNode menuNode in menus)
                {
                    XmlNodeList courses = null;

                    courses = menuNode.SelectNodes("./Courses/Course");


                    foreach (XmlNode courseNode in courses)
                    {
                        XmlNodeList items = null;

                        items = courseNode.SelectNodes("./Items/Item");


                        foreach (XmlNode itemNode in items)
                        {
                            XmlNodeList sizes = null;

                            sizes = itemNode.SelectNodes("./Sizes/Size");


                            foreach (XmlNode sizeNode in sizes)
                            {
                                csvData.Add(new List <string>());

                                string productId = SummaProductsListCommon.GetProductId(menuNode, courseNode, itemNode, sizeNode);

                                if (productIds.Contains(productId))
                                {
                                    _singletonLogger.LogError(FileLogger.LogErrorLevel.InternalXMLError, FileLogger.LogErrorLevelFile.ListProductTypesXMLFile,
                                                              string.Format("Duplicate Product Id found: {0}, {1} ", productId,
                                                                            SummaProductsListCommon.GetProductName(menuNode, courseNode, itemNode, sizeNode)), @"");

                                    //Summa.LOGGER.Error("Duplicate Product Id found: {0}, {1] ",
                                    //	productId,
                                    //	SummaProductsListCommon.GetProductName(menuNode, courseNode, itemNode, sizeNode));
                                }
                                else
                                {
                                    productIds.Add(productId);

                                    csvData[lineCounter].Add(productId);
                                    csvData[lineCounter].Add(SummaProductsListCommon.GetProductName(menuNode, courseNode, itemNode, sizeNode));
                                    csvData[lineCounter].Add(SummaProductsListCommon.GetProductBarcode(itemNode));
                                    csvData[lineCounter].Add(SummaProductsListCommon.GetProductPrice1(sizeNode));
                                    csvData[lineCounter].Add(SummaProductsListCommon.GetProductPrice2(sizeNode));
                                    csvData[lineCounter].Add(SummaProductsListCommon.GetProductGroupId(sizeNode));
                                    csvData[lineCounter].Add(SummaProductsListCommon.GetProductDepartmentId(sizeNode));
                                    csvData[lineCounter].Add(SummaProductsListCommon.GetProductCost(sizeNode));
                                    csvData[lineCounter].Add(SummaProductsListCommon.GetStoreId(doc));

                                    lineCounter++;
                                    csvLineData.Add(new StringBuilder());
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception e) {
                SummaException se = new SummaException("Problem processing products", e);
                se.Data = doc.OuterXml;
                throw se;
            }
        }
Example #21
0
        public override void SetupData(System.Xml.XmlDocument doc)
        {
            FULLFILEPATH += SummaFileName.GetName(SummaFileName.SummaFileType.DailyTotals, SummaCommon.GetStoreId(doc));

            XmlNodeList fixedListTotals = null;

            try {
                fixedListTotals = doc.DocumentElement.SelectNodes("/TotalsCalculated/Calculated");

                int counter = 0;
                foreach (XmlNode fixedListTotalNode in fixedListTotals)
                {
                    csvData.Add(new List <string>());

                    csvData[counter].Add(SummaFixedListTotals.GetId(fixedListTotalNode));
                    csvData[counter].Add(SummaFixedListTotals.GetCount(fixedListTotalNode));

                    #region Old Specs
                    //csvData[counter].Add(SummaFixedListTotals.GetTotalSales(fixedListTotalNode));
                    #endregion

                    #region Specs v1.2

                    int tId = Convert.ToInt16(SummaFixedListTotals.GetId(fixedListTotalNode));

                    if (tId == 4) // Discount always positive
                    {
                        string total = SummaFixedListTotals.GetSalesTotalXTax(fixedListTotalNode);

                        csvData[counter].Add(Convert.ToString(Math.Abs(Convert.ToDecimal(total))));
                    }
                    else
                    {
                        csvData[counter].Add(SummaFixedListTotals.GetSalesTotalXTax(fixedListTotalNode));
                    }

                    csvData[counter].Add(SummaFixedListTotals.GetSalesTotalTaxAmount(fixedListTotalNode));

                    #endregion

                    csvData[counter].Add(SummaFixedListTotals.GetTimestamp(fixedListTotalNode));
                    csvData[counter].Add(SummaCommon.GetStoreId(doc));
                    csvData[counter].Add(SummaCommon.GetTillId(doc));

                    counter++;
                    csvLineData.Add(new StringBuilder());

/*
 *                  if ((counter == 1) || (counter > fixedListTotals.Count))
 *                  {
 *                      csvLineData.Add(new StringBuilder());
 *                  }
 *                  else
 *                  {
 *                      csvLineData.Add(new StringBuilder(","));
 *                  }
 */
                }
            }
            catch (Exception e) {
                SummaException se = new SummaException("Problem processing fixed list totals", e);
                se.Data = doc.OuterXml;
                throw se;
            }
        }