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; }