Пример #1
0
        /// <summary>
        /// Getboes the product.
        /// </summary>
        /// <param name="astrProductCode">The product code.</param>
        /// <param name="astrName">Name of the product.</param>
        /// <param name="astrCategoryType">Type of the category.</param>
        /// <param name="adecBasePrice">The base price.</param>
        /// <param name="ablnIsTaxable">if set to <c>true</c> [is taxable].</param>
        /// <param name="ablnIsImproted">if set to <c>true</c> [is improted].</param>
        /// <returns></returns>
        private boProduct GetboProduct(string astrProductCode, string astrName, string astrCategoryType,
                                       decimal adecBasePrice, bool ablnIsTaxable = false, bool ablnIsImproted = false)
        {
            boProduct lboProduct = new boProduct();

            lboProduct.istrProductCode = astrProductCode;
            lboProduct.istrProductName = astrName;
            lboProduct.istrProductType = astrCategoryType;
            lboProduct.idecBasePrice   = adecBasePrice;
            lboProduct.iblnIsTaxable   = ablnIsTaxable;
            lboProduct.iblnIsImported  = ablnIsImproted;

            return(lboProduct);
        }
Пример #2
0
        /// <summary>
        /// Calculates the tax.
        /// </summary>
        /// <param name="aboProduct">The product.</param>
        /// <param name="adecCurrentTaxRate">The current tax rate.</param>
        /// <param name="adecCurrentImportedRate">The current imported rate.</param>
        public static decimal CalculateTax(boProduct aboProduct, decimal adecCurrentTaxRate, decimal adecCurrentImportedRate)
        {
            decimal ldecCalculatedTax = 0m;

            if (aboProduct.iblnIsTaxable)
            {
                //Calculate Tax
                ldecCalculatedTax += (aboProduct.idecBasePrice * adecCurrentTaxRate);
            }

            if (aboProduct.iblnIsImported)
            {
                //Calculate Imported Tax
                ldecCalculatedTax += (aboProduct.idecBasePrice * adecCurrentImportedRate);
            }

            return(TaxHelper.RoundingToNearest05Rule(ldecCalculatedTax));
        }
Пример #3
0
        public void CheckOneMockProductReceipt()
        {
            Mock <boCart> lobjMockCart = new Mock <boCart>();

            lobjMockCart.Setup(x => x.AddProduct("BK01"));

            Collection <boCart> lclcCart = new Collection <boCart>();

            //Create Product Object which will add to cart
            boProduct lboProduct = GetboProduct("TS01", "Test book 1", enmProductTypeList.Book.ToString(), 15.3m, false, true);

            lobjMockCart.Object.CalculateTaxAndAddToProductCart(lboProduct);
            if (lobjMockCart.Object.iclcCartProduct != null)
            {
                lclcCart.Add(lobjMockCart.Object);
            }

            StringBuilder lstrReceiptDetails         = ReceiptHelper.iobjInstance.GetReceiptDetails(lclcCart);
            StringBuilder lstrExpectedReceiptDetails = GenerateTestReceiptData(lobjMockCart);

            Assert.AreEqual(lstrReceiptDetails.Equals(lstrExpectedReceiptDetails), true);
        }