示例#1
0
        public void DisplayOrderDetails()
        {
            Customer         orderCustomer   = null;
            Staff            orderStaff      = null;
            ExternalBusiness orderContractor = null;
            string           customerDetails = "";
            string           bakerDetails    = "";

            foreach (Customer customer in DB.GetListOfCustomers())
            {
                if (customer.getPersonID() == customOrder.getCustomerID())
                {
                    orderCustomer = customer;
                }
            }

            if (customOrder.getOrderOutsourced())
            {
                foreach (ExternalBusiness contractor in DB.GetListOfContractors())
                {
                    if (contractor.getPersonID() == customOrder.getBakerID())
                    {
                        orderContractor = contractor;
                    }
                }
            }
            else
            {
                foreach (Staff baker in DB.GetListOfStaffMembers())
                {
                    if (baker.getPersonID() == customOrder.getBakerID())
                    {
                        orderStaff = baker;
                    }
                }
            }

            if (customOrder.getActiveOrder())
            {
                ActiveOrderTextBlock.Text = "Active";
            }
            else
            {
                ActiveOrderTextBlock.Text = "Inactive";
            }
            IDTextBlock.Text     = customOrder.getOrderID().ToString();
            CustIDTextBlock.Text = customOrder.getCustomerID().ToString();
            if (orderCustomer != null)
            {
                customerDetails = orderCustomer.getFirstName() + " " + orderCustomer.getSurname();
                if (orderCustomer.getPhone() != "")
                {
                    customerDetails = customerDetails + ", " + orderCustomer.getPhone();
                }
                if (orderCustomer.getEmail() != "")
                {
                    customerDetails = customerDetails + ", " + orderCustomer.getEmail();
                }
            }
            CustDetailsTextBlock.Text = customerDetails;

            BakerIDTextBlock.Text = customOrder.getBakerID().ToString();
            if (orderStaff != null)
            {
                BakerContractorTextBlock.Text = "In-shop baker";
                bakerDetails = orderStaff.getFirstName() + " " + orderStaff.getSurname();
            }
            else
            {
                try
                {
                    BakerContractorTextBlock.Text = "Contractor";
                    if (orderContractor.GetBusinessName() != "")
                    {
                        bakerDetails = orderContractor.GetBusinessName() + ", ";
                    }
                    bakerDetails = bakerDetails + orderContractor.getFirstName() + " " + orderContractor.getSurname();
                }
                catch { }
            }
            BakerDetailsTextBlock.Text = bakerDetails;

            SizeTextBlock.Text        = customOrder.getOrderSize();
            DescriptionTextBlock.Text = customOrder.getOrderDescription();
            PriceTextBlock.Text       = "£" + customOrder.getOrderPrice().ToString();
            if (customOrder.getIsPaid())
            {
                PaidTextBlock.Text = "Paid";
            }
            else
            {
                PaidTextBlock.Text = "Not paid";
            }
            if (customOrder.getReadyToCollect())
            {
                ReadyToCollectTextBlock.Text = "Ready for collection";
            }
            else
            {
                ReadyToCollectTextBlock.Text = "Not ready";
            }
            if (customOrder.getCollected())
            {
                CollectedBlock.Text = "Collected";
            }
            else
            {
                CollectedBlock.Text = "Not collected";
            }
        }
        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;
        }