コード例 #1
0
        private void ConfirmButton_Click(object sender, RoutedEventArgs e)
        {
            int newID = 0;

            if (DB.GetListOfCustomOrders().Count > 0)
            {
                newID = DB.GetListOfCustomOrders()[DB.GetListOfCustomOrders().Count - 1].getOrderID() + 1;
            }
            decimal price = Decimal.Parse(PriceTextBox.Text);

            bool     orderOutsourced  = (bool)Outsourced.IsChecked;
            Customer SelectedCustomer = (Customer)RegisteredCustomerCmb.SelectedItem;

            CustomOrder newCustOrder = new CustomOrder(newID, SelectedCustomer.getPersonID(), CakeSizeTextBox.SelectedItem.ToString(), orderOutsourced, DescriptionTextBox.Text, price);

            if (!newCustOrder.AssignBaker(DB))
            {
                newCustOrder.setBakerID(-1);
                MessageBox.Show("Cannot assign a baker: the number of orders each baker has equals to the maximum of orders per baker. Please assign the baker manually in the orders management tab.");
            }

            DB.AddCustomOrder(newCustOrder);

            MessageBox.Show("Order placed.");
        }
コード例 #2
0
        public void GenerateNewCustomOrder()
        {
            Random random  = new Random();
            int    orderID = 0;
            int    custID  = 0;

            if (DB.GetListOfCustomOrders().Count != 0)
            {
                orderID = DB.GetListOfCustomOrders()[DB.GetListOfCustomOrders().Count - 1].getOrderID() + 1;
            }
            if (DB.GetListOfCustomers().Count != 0)
            {
                custID = DB.GetListOfCustomers()[DB.GetListOfCustomers().Count - 1].getPersonID();
            }
            int  outsourced      = random.Next(0, 2);
            bool orderOutsourced = false;

            if (outsourced == 0)
            {
                orderOutsourced = true;
            }
            int    orderSize = random.Next(0, 3);
            string Size      = "";

            if (orderSize == 0)
            {
                Size = "Small";
            }
            else if (orderSize == 1)
            {
                Size = "Medium";
            }
            else
            {
                Size = "Large";
            }
            string  description = "Description";
            decimal price       = random.Next(10, 50);

            CustomOrder newCustOrder = new CustomOrder(orderID, custID, Size, orderOutsourced, description, price);

            if (!newCustOrder.AssignBaker(DB))
            {
                newCustOrder.setBakerID(-1);
            }

            if (orderOutsourced)
            {
                foreach (ExternalBusiness contractor in DB.GetListOfContractors())
                {
                    if (newCustOrder.getBakerID() == contractor.getPersonID())
                    {
                        contractor.addOrderID(newCustOrder.getOrderID());
                    }
                }
            }
            else
            {
                foreach (Staff staff in DB.GetListOfStaffMembers())
                {
                    if (newCustOrder.getBakerID() == staff.getPersonID())
                    {
                        staff.addOrderID(newCustOrder.getOrderID());
                    }
                }
            }

            DB.AddCustomOrder(newCustOrder);
        }
コード例 #3
0
        private void SaveButton_Click(object sender, RoutedEventArgs e)
        {
            Customer selectedCustomer = (Customer)CustIDCmb.SelectedItem;

            if (selectedCustomer.getPersonID() != customOrder.getCustomerID())
            {
                customOrder.setCustomerID(selectedCustomer.getPersonID());
            }

            if (BakerIDCmb.SelectedItem != null)
            {
                if (BakerContractorCmb.SelectedItem == "In-shop baker")
                {
                    Staff selectedBaker = (Staff)BakerIDCmb.SelectedItem;
                    if (selectedBaker.getPersonID() != customOrder.getBakerID() || customOrder.getOrderOutsourced())
                    {
                        if (customOrder.getOrderOutsourced())
                        {
                            foreach (ExternalBusiness contractor in DB.GetListOfContractors())
                            {
                                if (customOrder.getBakerID() == contractor.getPersonID())
                                {
                                    contractor.removeOrderID(customOrder.getOrderID());
                                }
                            }
                        }
                        else
                        {
                            foreach (Staff staff in DB.GetListOfStaffMembers())
                            {
                                if (customOrder.getBakerID() == staff.getPersonID())
                                {
                                    staff.removeOrderID(customOrder.getOrderID());
                                }
                            }
                        }

                        customOrder.setBakerID(selectedBaker.getPersonID());
                        selectedBaker.addOrderID(customOrder.getOrderID());
                        customOrder.setOrderOutsourced(false);
                    }
                }

                else if (BakerContractorCmb.SelectedItem == "Contractor")
                {
                    ExternalBusiness selectedBaker = (ExternalBusiness)BakerIDCmb.SelectedItem;
                    if (selectedBaker.getPersonID() != customOrder.getBakerID() || !customOrder.getOrderOutsourced())
                    {
                        if (customOrder.getOrderOutsourced())
                        {
                            foreach (ExternalBusiness contractor in DB.GetListOfContractors())
                            {
                                if (customOrder.getBakerID() == contractor.getPersonID())
                                {
                                    contractor.removeOrderID(customOrder.getOrderID());
                                }
                            }
                        }
                        else
                        {
                            foreach (Staff staff in DB.GetListOfStaffMembers())
                            {
                                if (customOrder.getBakerID() == staff.getPersonID())
                                {
                                    staff.removeOrderID(customOrder.getOrderID());
                                }
                            }
                        }

                        customOrder.setBakerID(selectedBaker.getPersonID());
                        selectedBaker.addOrderID(customOrder.getOrderID());
                        customOrder.setOrderOutsourced(true);
                    }
                }
            }

            if (SizeCmb.SelectedItem.ToString() != customOrder.getOrderSize())
            {
                customOrder.setOrderSize(SizeCmb.SelectedItem.ToString());
            }

            if (DescriptionTextBox.Text != customOrder.getDescription())
            {
                customOrder.setDescription(DescriptionTextBox.Text);
            }

            try { if (Decimal.Parse(PriceTextBox.Text) != customOrder.getOrderPrice())
                  {
                      customOrder.setOrderPrice(Decimal.Parse(PriceTextBox.Text));
                  }
            }
            catch (FormatException exception) { MessageBox.Show("Please only use numbers for price!"); }

            DialogResult = true;
        }