/// <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); }
/// <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)); }
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); }