//Budget Database Interaction Implementation public List<Budget> getListOfBudget() { List<Budget> listToPop = new List<Budget>(); XmlReaderSettings settings = new XmlReaderSettings(); settings.IgnoreWhitespace = true; using (XmlReader scanner = XmlReader.Create("budgets.xml", settings)) { do { scanner.ReadToDescendant("itemId"); int i_itemId = scanner.ReadElementContentAsInt(); double i_itemPrice = scanner.ReadElementContentAsDouble(); string i_itemName = scanner.ReadElementContentAsString(); Budget newBudget = new Budget(i_itemId, i_itemPrice, i_itemName); listToPop.Add(newBudget); } while (scanner.ReadToNextSibling("Budget")); } return listToPop; }
private void createButton_Click(object sender, EventArgs e) { if (eventNameTextBox.Text == "" && sizeTextBox.Text == "") { MessageBox.Show("Please fill in the event details. Thank you.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } else if (eventNameTextBox.Text == "") { MessageBox.Show("Please enter an event name. Thank you.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } else if (sizeTextBox.Text == "") { MessageBox.Show("Please enter the particpatiant size. Thank you.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } else if (startTimePicker.Value > endTimePicker.Value) { MessageBox.Show("The event's start date cannot be after its end date.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } else if (startTimePicker.Value == endTimePicker.Value) { MessageBox.Show("The event cannot have the same start and end time.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } else if (int.Parse(sizeTextBox.Text) < 1) { MessageBox.Show("You cannot create an event with 0 participant size.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } else if (listOfActivity.Count == 0 && scheduleEventView.Items.Count == 0) { MessageBox.Show("Please add your schedule. Thank you.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { string path = "events.xml"; int neweventId = 1; int newscheduleId = 1; if (File.Exists(path)) { neweventId = Organiser.getNewEventId(); newscheduleId = Organiser.getNewScheduleId(); } List<Participant> participantList = new List<Participant>(); List<int> facilitatorList = new List<int>(); Organiser org = new Organiser(currentUser); // Delete event Activity currentActivity; for (int i = 0; i < listOfActivity.Count; i++) { currentActivity = listOfActivity[i]; if (currentActivity.getDate().Year == Convert.ToDateTime(dateCombobox.Text).Year && currentActivity.getDate().Month == Convert.ToDateTime(dateCombobox.Text).Month && currentActivity.getDate().Day == Convert.ToDateTime(dateCombobox.Text).Day) { listOfActivity.Remove(currentActivity); i--; } } //Readd the current date event Activity currAct; Venue ven; DateTime time; for (int i = 0; i < scheduleEventView.Items.Count; i++) { time = returnTime(scheduleEventView.Items[i].SubItems[0].Text, Convert.ToDateTime(dateCombobox.Text)); int newVenueID = org.getCheckVenueId(scheduleEventView.Items[i].SubItems[2].Text); ven = new Venue(newVenueID, scheduleEventView.Items[i].SubItems[2].Text, Venue.getVenueCapacityfromID(newVenueID)); if (listOfActivity.Count == 0) newActivityID = org.getNewActivityId(); else newActivityID = getNewActIDFromActList(listOfActivity); currAct = new Activity(newActivityID, time, scheduleEventView.Items[i].SubItems[1].Text, ven); listOfActivity.Add(currAct); } listOfActivity = sortActivityList(listOfActivity); foreach (Activity newAct in listOfActivity) { org.addNewActivity(newAct); } List<string> listOfItems = new List<string>(); Schedule newSchedule = new Schedule(newscheduleId, listOfItems, listOfActivity); int newItemID = 0; List<int> listOfBudgetID = new List<int>(); List<Budget> listOfBudget = new List<Budget>(); Budget currBudget; for (int i = 0; i < budgetListListView.Items.Count; i++) { if (i == 0) newItemID = org.getNewItemID(); else newItemID++; listOfBudgetID.Add(newItemID); currBudget = new Budget(newItemID, double.Parse(budgetListListView.Items[i].SubItems[1].Text), budgetListListView.Items[i].SubItems[0].Text); listOfBudget.Add(currBudget); } org.addSchedule(newSchedule); org.addBudget(listOfBudget); EventEntity events = new EventEntity(neweventId, eventNameTextBox.Text, startTimePicker.Value, endTimePicker.Value, newscheduleId, int.Parse(sizeTextBox.Text), participantList, facilitatorList, listOfBudgetID, double.Parse(totalPriceTextBox.Text), currentUser.getUserId(), false, false, false, false); org.createEvent(events); if (MessageBox.Show(events.getEventName() + " has been created. Do you want to advertise?", "Registration", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { Advertise newAdvForm = new Advertise(this.eventNameTextBox.Text.ToString()); newAdvForm.Show(); } this.Close(); } }
public void saveBudget(List<string> listItem, List<double> listPrice, List<int> listID, double totalPrice, int currentEventID) { Database db = Database.CreateDatabase(DatabaseToken); List<EventEntity> listOfDBEvent = db.getListOfEvents(); foreach (EventEntity events in listOfDBEvent) { if (events.getEventId() == currentEventID) { events.setListOfBudgetItem(listID); events.setTotalPrice(totalPrice); } } db.saveListOfEvents(listOfDBEvent); Budget currBudget; List<Budget> listOfDBBudget = db.getListOfBudget(); bool addflag = true; while (listID.Count != 0) { for (int i = 0; i < listOfDBBudget.Count; i++) { if (listID[0] == listOfDBBudget[i].getItemID()) addflag = false; } if(addflag == true) { currBudget = new Budget(listID[0], listPrice[0], listItem[0]); listOfDBBudget.Add(currBudget); } else { addflag = true; } listID.RemoveAt(0); listPrice.RemoveAt(0); listItem.RemoveAt(0); } db.saveListOfBudgets(listOfDBBudget); }