Esempio n. 1
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;
        }