public static void print_PRECISION_result(double tax, double discount, double upcdiscount, int upcval, string method, Cap cap, double currency) { double newprice; foreach (var prod in productlist) { Console.WriteLine($"Product Name = {prod.name} , UPC = {prod.upc} , Price ={Math.Round((prod.price * currency), 2)} "); Console.WriteLine($"Price = ${Math.Round((prod.price * currency), 2)}"); Console.WriteLine($"Tax = ${Math.Round(Tax_Amount(tax, prod.price * currency,4), 2)}"); var cap_amount = Math.Round(cap.value, 2); if (!cap.is_absolute_value) { cap_amount = Math.Round((cap.value * prod.price * currency) / 100, 2); } if (prod.upc == upcval) { var discountamount = Math.Round(Discounts_Amount(discount, upcdiscount, prod.price * currency, method, 4), 2); if (discountamount > cap_amount) { discountamount = cap_amount; } Console.WriteLine($"**Total discounts = ${discountamount}"); newprice = Math.Round(((prod.price * currency) + Tax_Amount(tax, prod.price * currency, 4)) - discountamount, 2); } else { var discountamount = Math.Round(Discounts_Amount(discount, 0, prod.price * currency, method, 4), 2); if (discountamount > cap_amount) { discountamount = cap_amount; } Console.WriteLine($"Discount =${discountamount}"); newprice = Math.Round((prod.price * currency + Tax_Amount(tax, prod.price, 4)) - discountamount, 2); } if (expenseslist.Count() > 0) { foreach (var ex in expenseslist) { var costnew = Math.Round(ex.cost, 2); if (!ex.is_absolute_value) { costnew = Math.Round((ex.cost * prod.price * currency) / 100, 2); } Console.WriteLine($"{ex.name} = ${costnew} "); newprice = newprice + costnew; } } Console.WriteLine($"Total New price = ${newprice} " + '\n'); } Customerside(); }
public static void Customerside() { bool loop = true; while (loop) { Console.WriteLine("Enter a number from the calculater above or press q to exit"); var read = Console.ReadLine(); if (read.Equals("q")) { loop = false; CommandLoop(); } else if (read.Equals("1")) { loop = false; var tax = Tax_Read(); print_tax_result(tax); } else if (read.Equals("2")) { loop = false; var tax = Tax_Read(); var discount = Discount_Read(); print_discount_result(tax, discount); } else if (read.Equals("3")) { loop = false; var tax = Tax_Read(); var discount = Discount_Read(); print_Report_result(tax, discount); } else if (read.Equals("4")) { loop = false; var tax = Tax_Read(); var discount = Discount_Read(); var upcdiscount = UPC_Discount_Read(); if (upcdiscount == 0) { print_selective_result(tax, discount, upcdiscount, -1); } else { var upcval = UPC_Val_Read(); print_selective_result(tax, discount, upcdiscount, upcval); } } else if (read.Equals("5")) { loop = false; var tax = Tax_Read(); var discount = Discount_Read(); var upcdiscount = UPC_Discount_Read(); if (upcdiscount == 0) { var precedence = PRECEDENCE_Read(); print_precedence_result(tax, discount, upcdiscount, -1, precedence); } else { var upcval = UPC_Val_Read(); var precedence = PRECEDENCE_Read(); print_precedence_result(tax, discount, upcdiscount, upcval, precedence); } } else if (read.Equals("6")) { loop = false; var tax = Tax_Read(); var discount = Discount_Read(); var upcdiscount = UPC_Discount_Read(); if (upcdiscount == 0) { Expenses_Read(); // to fill the list print_Expenses_result(tax, discount, upcdiscount, -1); } else { var upcval = UPC_Val_Read(); Expenses_Read(); print_Expenses_result(tax, discount, upcdiscount, upcval); } } else if (read.Equals("7")) { loop = false; var tax = Tax_Read(); var discount = Discount_Read(); var upcdiscount = UPC_Discount_Read(); if (upcdiscount == 0) { Expenses_Read(); // to fill the list var method = combining_method_Read(); print_combinig_result(tax, discount, upcdiscount, -1, method); } else { var upcval = UPC_Val_Read(); Expenses_Read(); var method = combining_method_Read(); print_combinig_result(tax, discount, upcdiscount, upcval, method); } } else if (read.Equals("8")) { loop = false; var tax = Tax_Read(); var discount = Discount_Read(); var upcdiscount = UPC_Discount_Read(); if (upcdiscount == 0) { Expenses_Read(); // to fill the list var method = combining_method_Read(); Cap cap = Cap_Read(); print_Cap_result(tax, discount, upcdiscount, -1, method, cap); } else { var upcval = UPC_Val_Read(); Expenses_Read(); var method = combining_method_Read(); Cap cap = Cap_Read(); print_Cap_result(tax, discount, upcdiscount, upcval, method, cap); } } else if (read.Equals("9")) { loop = false; var tax = Tax_Read(); var discount = Discount_Read(); var upcdiscount = UPC_Discount_Read(); if (upcdiscount == 0) { Expenses_Read(); // to fill the list var method = combining_method_Read(); Cap cap = Cap_Read(); var currency_converter = Currency_Read(); print_Currency_result(tax, discount, upcdiscount, -1, method, cap, currency_converter); } else { var upcval = UPC_Val_Read(); Expenses_Read(); var method = combining_method_Read(); Cap cap = Cap_Read(); var currency_converter = Currency_Read(); print_Currency_result(tax, discount, upcdiscount, upcval, method, cap, currency_converter); } } else if (read.Equals("10")) { loop = false; var tax = Tax_Read(); var discount = Discount_Read(); var upcdiscount = UPC_Discount_Read(); if (upcdiscount == 0) { Expenses_Read(); // to fill the list var method = combining_method_Read(); Cap cap = Cap_Read(); var currency_converter = Currency_Read(); print_PRECISION_result(tax, discount, upcdiscount, -1, method, cap, currency_converter); } else { var upcval = UPC_Val_Read(); Expenses_Read(); var method = combining_method_Read(); Cap cap = Cap_Read(); var currency_converter = Currency_Read(); print_PRECISION_result(tax, discount, upcdiscount, upcval, method, cap, currency_converter); } } else { Console.WriteLine("Please Enter a correct command"); } } }