public void completeOrder(object sender, RoutedEventArgs e)
        {
            DeskOrder desk           = (DeskOrder)Application.Current.Properties["Desk"];
            double    materialPrice  = desk.materialPrice;
            double    drawerPrice    = desk.drawerPrice;
            double    dimensionPrice = desk.dimensionPrice;
            double    rushOrderPrice = desk.rushOrderPrice;
            double    totalPrice     = desk.priceQuote;
            int       orderID        = desk.orderID;


            //Write to console for debugging (Use as template for adding to list element
            Console.WriteLine("\n Order ID: #" + orderID);
            Console.WriteLine(" Base Desk Price: $" + BASE_DESK_PRICE);
            Console.WriteLine(" Desk Material Price: $" + materialPrice);
            Console.WriteLine(" Desk Drawer Price: $" + drawerPrice);
            Console.WriteLine(" Extra Large Surface Area Price: $" + dimensionPrice);
            Console.WriteLine(" Rush Order Price: $" + rushOrderPrice);
            Console.WriteLine("\n *****  Total Custom Desk Price: $" + totalPrice + "  *****");

            // View ThankYouPage.xaml
            ThankYouPage thankYouPage = new ThankYouPage();

            this.NavigationService.Navigate(thankYouPage);

            //Write to the JSON file
            savePriceQuoteToFile(orderID, BASE_DESK_PRICE, materialPrice, drawerPrice, dimensionPrice, rushOrderPrice, totalPrice);
        }
        public void populate_Form()
        {
            DeskOrder desk           = (DeskOrder)Application.Current.Properties["Desk"];
            double    materialPrice  = desk.materialPrice;
            double    drawerPrice    = desk.drawerPrice;
            double    dimensionPrice = desk.dimensionPrice;
            double    rushOrderPrice = desk.rushOrderPrice;

            //Create random order ID
            Random rand    = new Random();
            int    orderID = rand.Next();

            double totalPrice = BASE_DESK_PRICE + materialPrice + drawerPrice + dimensionPrice + rushOrderPrice;

            //Add Total Price Quote to DeskOrder object
            desk.priceQuote = totalPrice;

            //Add order ID to DeskOrder object
            desk.orderID = orderID;

            orderNumber.Content    = "Order ID: #" + orderID;
            baseCost.Content       = "Base Desk Price: $" + BASE_DESK_PRICE;
            materialCost.Content   = " Desk Material Price: $" + materialPrice;
            drawerCost.Content     = " Desk Drawer Price: $" + drawerPrice;
            extraLargeCost.Content = " Extra Large Surface Area Price: $" + dimensionPrice;
            rushCost.Content       = " Rush Order Price: $" + rushOrderPrice;
            totalCost.Content      = "*****  Total Custom Desk Price: $" + totalPrice + "  *****";
        }
Пример #3
0
        public void calculateDrawerPrice()
        {
            int drawerPrice = 50;

            drawerSelectionPrice = drawerPrice * numDrawers;
            Console.WriteLine("Drawer Price: " + drawerSelectionPrice);

            DeskOrder desk = (DeskOrder)Application.Current.Properties["Desk"];

            desk.drawerPrice = drawerSelectionPrice;
            desk.numDrawers  = numDrawers;
        }
Пример #4
0
        public void calculateDimension()
        {
            double deskDimensions = length * widthSelected;

            Console.WriteLine("Total desk top area: " + deskDimensions);

            DeskOrder desk = (DeskOrder)Application.Current.Properties["Desk"];

            desk.deskSize = deskDimensions;

            calculateDimensionPrice(deskDimensions);
        }
Пример #5
0
        private void getQuote(object sender, RoutedEventArgs e)
        {
            DeskOrder desk       = (DeskOrder)Application.Current.Properties["Desk"];
            double    dimensions = desk.deskSize;

            calculateRushOrderPrice(dimensions);
            // View OrderSummaryPage.xaml
            OrderSummaryPage orderSummary = new OrderSummaryPage();

            orderSummary.populate_Form();
            this.NavigationService.Navigate(orderSummary);
        }
Пример #6
0
        private void comboBox_SelectionChanged2(object sender, SelectionChangedEventArgs e)
        {
            // Get the ComboBox.
            var comboBox = sender as ComboBox;

            // Set SelectedItem as Window Title.
            widthSelected = int.Parse(comboBox.SelectedItem.ToString());
            this.Title    = "Selected: " + widthSelected;

            DeskOrder desk = (DeskOrder)Application.Current.Properties["Desk"];

            desk.deskwidth = widthSelected;
        }
        public void calculateMaterialPrice()
        {
            double[] materialTypePrice = new double[]
            {
                200, 100, 50
            };

            double materialSelectionPrice = materialTypePrice[materialChosen];

            Console.WriteLine("Material Price: " + materialSelectionPrice);

            DeskOrder desk = new DeskOrder();

            Application.Current.Properties["Desk"] = desk;
            desk.materialPrice = materialSelectionPrice;
        }
        private void button_Click(object sender, RoutedEventArgs e)
        {
            if (rushWantedSelected == "Yes")
            {
                // View RushOrderOptions.xaml
                RushOrderOptions rushOrderPage = new RushOrderOptions();
                this.NavigationService.Navigate(rushOrderPage);
            }
            else
            {
                DeskOrder desk = (DeskOrder)Application.Current.Properties["Desk"];
                desk.rushOrderPrice = 0;

                // View OrderSummaryPage.xaml
                OrderSummaryPage orderSummary = new OrderSummaryPage();
                orderSummary.populate_Form();
                this.NavigationService.Navigate(orderSummary);
            }
        }
Пример #9
0
        public void calculateDimensionPrice(double deskDimension)
        {
            if (deskDimension > 1000)
            {
                deskDimensions = deskDimension - 1000;
                dimensionPrice = deskDimensions * 5;
                Console.WriteLine("Desk Dimension Price: " + dimensionPrice);

                DeskOrder desk = (DeskOrder)Application.Current.Properties["Desk"];
                desk.dimensionPrice = dimensionPrice;
            }
            else
            {
                dimensionPrice = 0;
                Console.WriteLine("Desk Dimension Price: " + dimensionPrice);

                DeskOrder desk = (DeskOrder)Application.Current.Properties["Desk"];
                desk.dimensionPrice = dimensionPrice;
            }
        }
Пример #10
0
        public void calculateRushOrderPrice(double deskDimensions)
        {
            int[] rushOptions = new int[]
            {
                3, 5, 7
            };

            //string priceFile = "price-table.txt";
            string priceFile = @"C:\Users\t2alaska\cit301c\TenilleDiel_Mega-Escritorio-App\TenilleDiel_Mega-Escritorio-App\bin\Debug\price-table.txt";

            try
            {
                string[] rushOrderPrices = File.ReadAllLines(priceFile);

                double[][] rushOrderArray = new double[rushOrderPrices.Length][];
                for (int i = 0; i < rushOrderPrices.Length; i++)
                {
                    var columns = rushOrderPrices[i].Split(new char[] { ',' });
                    rushOrderArray[i] = new double[] {
                        Double.Parse(columns[0]), Double.Parse(columns[1]), Double.Parse(columns[2]),
                    };
                }

                //Decide what the price should be
                double rushSelected = rushOptions[rushChosen];
                double deskSize     = determineRushSize(deskDimensions);
                price = rushOrderArray.Where(i => i[0] == rushSelected).Where(i => i[1] == deskSize).First()[2];

                DeskOrder desk = (DeskOrder)Application.Current.Properties["Desk"];
                desk.rushOrderPrice = price;
            }
            catch (Exception e)
            {
                Console.WriteLine("There was a problem with the file.");
            }
        }