Ejemplo n.º 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.");
        }
        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);
        }