コード例 #1
0
        public static Order CalculateRemainingOrderFields(Order startedOrder, bool assignDate = true)
        {
            //calculate the remaining fields
            if (assignDate)
            {
                startedOrder.Date = DateTime.Today;
            }

            startedOrder.TaxPercent = TaxRateOperations.GetTaxRateFor(startedOrder.State).TaxPercent;

            ProductType orderProductType = ProductTypeOperations.GetProductType(startedOrder.ProductType);

            startedOrder.CostPerSquareFoot      = orderProductType.CostPerSquareFoot;
            startedOrder.LaborCostPerSquareFoot = orderProductType.LaborCostPerSquareFoot;

            startedOrder.MaterialCost = startedOrder.CostPerSquareFoot * startedOrder.Area;
            startedOrder.LaborCost    = startedOrder.LaborCostPerSquareFoot * startedOrder.Area;
            startedOrder.Tax          = (startedOrder.MaterialCost + startedOrder.LaborCost) * (startedOrder.TaxPercent * 0.01M);
            startedOrder.Total        = startedOrder.MaterialCost + startedOrder.LaborCost + startedOrder.Tax;

            return(startedOrder);
        }
コード例 #2
0
        private void EditOrder(string userDate, int userInt)
        {
            bool isValidState = true;
            decimal userDec;
            bool isValidArea = true;
            DisplayOrderToEdit(userDate, userInt);
            IOrderRepo repo = OrderRepoFactory.GetOrderRepository();
            var AllOrders = repo.GetOrders(userDate);

            foreach (var order in AllOrders)
            {
                if (userInt == order.OrderNumber)
                {
                    Console.Write("Customer's Name: ");
                    string userName = Console.ReadLine();
                    if (userName != "")
                    {
                        order.CustomerName = userName;
                    }

                    do
                    {
                        Console.Write("\nState: ");
                        string userState = Console.ReadLine().ToUpper();
                        if (userState != "")
                        {
                            TaxRateOperations taxOps = new TaxRateOperations();

                            if (taxOps.IsAllowedState(userState))

                            {
                                isValidState = true;
                                order.State = userState;
                            }
                            else
                            {
                                Console.Write("\nWe do not operate in that state.\n");
                                isValidState = false;
                            }
                        }
                    } while (!isValidState);

                    TaxRateOperations tops = new TaxRateOperations();
                    TaxRate t1 = tops.GetTaxRateFor(order.State);
                    order.TaxRate = t1.TaxPercent;

                    Console.Write("\nProduct Type: ");
                    string userType = Console.ReadLine();
                    if (userType != "")
                    {
                        order.ProductType = userType;
                    }

                    ProductOps p1 = new ProductOps();
                    Product prod1 = p1.GetProduct(order.ProductType);
                    order.CostPerSquareFoot = prod1.CostPerSquareFoot;
                    order.LaborCostPerSquareFoot = prod1.LaborCostPerSquareFoot;

                    do
                    {
                        Console.Write("\nArea: ");
                        string userArea = Console.ReadLine();
                        if (userArea != "")
                        {
                            if (decimal.TryParse(userArea, out userDec))
                            {
                                isValidArea = true;
                                order.Area = userDec;
                            }
                            else
                            {
                                Console.WriteLine("\nThat was not a valid number.");
                                isValidArea = false;
                            }
                        }
                    } while (!isValidArea);

                    order.LaborCost = (order.LaborCostPerSquareFoot * order.Area);
                    order.MaterialCost = (order.CostPerSquareFoot * order.Area);
                    order.Tax = ((order.LaborCost + order.MaterialCost) * (order.TaxRate / 100.0M));
                    order.Total = order.LaborCost + order.MaterialCost + order.Tax;

                    Console.WriteLine("\nThe order to be edited:\n");
                    Console.WriteLine("\nOrder Number: {0}", order.OrderNumber);
                    Console.WriteLine("Customer Name: {0}", order.CustomerName);
                    Console.WriteLine("State: {0}", order.State);
                    Console.WriteLine("Tax Rate:{0}", order.TaxRate);
                    Console.WriteLine("ProductType: {0}", order.ProductType);
                    Console.WriteLine("Area: {0}", order.Area);
                    Console.WriteLine("Cost Per Sq Ft: {0}", order.CostPerSquareFoot);
                    Console.WriteLine("Labor Cost Per Sq Ft: {0}", order.LaborCostPerSquareFoot);
                    Console.WriteLine("Labor Cost: {0}", order.LaborCost);
                    Console.WriteLine("Material Cost: {0}", order.MaterialCost);
                    Console.WriteLine("Tax: {0}", order.Tax);
                    Console.WriteLine("Total: {0}", order.Total);

                    Console.ReadLine();
                }

                //string[] NewOrders = new string[AllOrders.Count];
                //{
                //    NewOrders[order.OrderNumber - 1] = (order.OrderNumber + "," + newOrder.CustomerName + "," + newOrder.State + "," + newOrder.TaxRate + "," + newOrder.ProductType + "," + newOrder.Area + "," + newOrder.CostPerSquareFoot + "," + newOrder.LaborCostPerSquareFoot + "," + newOrder.MaterialCost + "," + newOrder.LaborCost + "," + newOrder.Tax + "," + newOrder.Total);
                //}
                //File.WriteAllLines(@"C:\MasteryProject\FlooringProgram\FlooringProgram.UI\Data\Orders_06012013.txt", NewOrders); //Teran File Path
            }

            string[] NewOrders = new string[AllOrders.Count()];
            foreach (var order in AllOrders)
            {
                NewOrders[order.OrderNumber - 1] = (order.OrderNumber + "," + order.CustomerName + "," + order.State + "," + order.TaxRate + "," + order.ProductType + "," + order.Area + "," + order.CostPerSquareFoot + "," + order.LaborCostPerSquareFoot + "," + order.MaterialCost + "," + order.LaborCost + "," + order.Tax + "," + order.Total);
            }
            File.WriteAllLines(@".\Data\Orders_06012013.txt", NewOrders); //Teran File Path
        }
コード例 #3
0
        private static string setState(string userState)
        {
            bool isValid = false;
            do
            {
                TaxRateOperations taxOps = new TaxRateOperations();

                if (taxOps.IsAllowedState(userState.ToUpper()))

                {
                    isValid = true;
                }
                else
                {
                    Console.Write("\nWe do not operate in that state.");
                }
            } while (!isValid);

            return userState.ToUpper();
        }
コード例 #4
0
        private Order AskToAdd()
        {
            bool valid = false;
            bool isValidName = true;
            bool isValidState = false;
            bool isValidArea = false;
            decimal userDec;
            Order newOrder = new Order();

            do
            {
                Console.Clear();
                do
                {
                    Console.Write("Customer's Name: ");
                    newOrder.CustomerName = Console.ReadLine();
                    if (newOrder.CustomerName == "")
                    {
                        isValidName = false;
                    }
                    else
                    {
                        isValidName = true;
                    }
                } while (!isValidName);
                do
                {
                    Console.Write("\nState: ");
                    string userState = Console.ReadLine().ToUpper();
                    if (userState != "")
                    {
                        TaxRateOperations taxOps = new TaxRateOperations();

                        if (taxOps.IsAllowedState(userState))

                        {
                            isValidState = true;
                            newOrder.State = userState;
                        }
                        else
                        {
                            Console.Write("\nWe do not operate in that state.\n");
                        }
                    }
                } while (!isValidState);

                TaxRateOperations tops = new TaxRateOperations();
                TaxRate t1 = tops.GetTaxRateFor(newOrder.State);
                newOrder.TaxRate = t1.TaxPercent;

                newOrder.ProductType = setProductType();
                ProductOps p1 = new ProductOps();
                Product prod1 = p1.GetProduct(newOrder.ProductType);
                newOrder.CostPerSquareFoot = prod1.CostPerSquareFoot;
                newOrder.LaborCostPerSquareFoot = prod1.LaborCostPerSquareFoot;

                do
                {
                    Console.Write("\nArea: ");
                    string userArea = Console.ReadLine();

                    if (decimal.TryParse(userArea, out userDec))
                    {
                        isValidArea = true;
                        newOrder.Area = userDec;
                    }
                    else
                    {
                        Console.WriteLine("\nThat was not a valid number.");
                    }
                } while (!isValidArea);
                Console.WriteLine("\n====================");
                newOrder.LaborCost = (newOrder.LaborCostPerSquareFoot * newOrder.Area);
                newOrder.MaterialCost = (newOrder.CostPerSquareFoot * newOrder.Area);
                newOrder.Tax = ((newOrder.LaborCost + newOrder.MaterialCost) * (newOrder.TaxRate / 100.0M));
                newOrder.Total = newOrder.LaborCost + newOrder.MaterialCost + newOrder.Tax;

                Console.WriteLine("\nThe order to be added:\n");
                Console.WriteLine("Customer Name: {0}", newOrder.CustomerName);
                Console.WriteLine("State: {0}", newOrder.State);
                Console.WriteLine("Tax Rate: {0}", newOrder.TaxRate);
                Console.WriteLine("ProductType: {0}", newOrder.ProductType.ToUpper());
                Console.WriteLine("Area: {0}", newOrder.Area);
                Console.WriteLine("Cost Per Sq Ft: {0}", newOrder.CostPerSquareFoot);
                Console.WriteLine("Labor Cost Per Sq Ft: {0}", newOrder.LaborCostPerSquareFoot);
                Console.WriteLine("Labor Cost: {0}", newOrder.LaborCost);
                Console.WriteLine("Material Cost: {0}", newOrder.MaterialCost);
                Console.WriteLine("Tax: {0}", newOrder.Tax);
                Console.WriteLine("Total: {0}", newOrder.Total);

                Console.Write("\n\nCommit this order?(Y/N) ");
                string input = Console.ReadLine().ToUpper();

                if (input == "Y")
                {
                    valid = true;
                }
                else
                {
                    Console.WriteLine("\nPress enter to return to the main menu.");
                    //Console.ReadLine();
                    //MenuOps.displayMenu();
                }
              } while (!valid);

            return newOrder;
        }
コード例 #5
0
ファイル: Program.cs プロジェクト: jekrch/ClassWork
        public static TaxRate StateTaxPrompt()
        {
            Console.WriteLine("\n\t\t\tEnter Order Details");
            Console.Write($"\n\n\n\t\tState: ");

            while (true)
            {

                string state = Console.ReadLine();

                TaxRateOperations taxOps = new TaxRateOperations();

                if (taxOps.IsAllowedState(state))
                {
                    return taxOps.GetTaxRateFor(state);

                }

                Console.Clear();
                Console.WriteLine("\n\t\t\tEnter Order Details");
                ErrorWriter("\n\t\tInvalid state. Please try again.");
                Console.Write($"\n\n\t\tState: ");

            }

            //Console.Write("Enter a state: ");
            ////string state = Console.ReadLine();

            //TaxRateOperations taxOps = new TaxRateOperations();
            //if (taxOps.IsAllowedState(state))
            //{
            //    Console.WriteLine("That is a valid state");
            //    TaxRate rate = taxOps.GetTaxRateFor(state);

            //    Console.WriteLine("The tax rate for {0} is {1:p}", rate.State, rate.TaxPercent);
            //}
            //else
            //{
            //    Console.WriteLine("That is not a valid state");
            //}
        }