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