Ejemplo n.º 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="inDoc"></param>
        /// <returns></returns>
        string GetSalesTotalXTax(XmlDocument inDoc)
        {
            string transactionType = SummaTransactionCommon.GetTransactionType(inDoc);
            double totalxTax       = Convert.ToDouble(SummaTransactionCommon.GetSalesTotalXTax(inDoc));

            switch (transactionType)
            {
            case @"1": return(string.Format("{0:#.00}", Math.Abs(totalxTax)));         // Purchase

            case @"2": return(string.Format("{0:#.00}", Math.Abs(totalxTax) * -1));    // Refund

            default: return(string.Format("{0:#.00}", Math.Abs(totalxTax)));
            }
        }
Ejemplo n.º 2
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;
            }
        }