Beispiel #1
0
        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();
        }
Beispiel #2
0
        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");
                }
            }
        }