From 5589bd1dc7e7fed2de09690244fd0ceaec63d5c8 Mon Sep 17 00:00:00 2001 From: Evan Langlais Date: Thu, 6 Apr 2017 12:57:49 -0400 Subject: [PATCH] Fixed more admin panel bugs --- Enigma/StationsGUI/AdminStationView.cs | 90 +++++++++++++++----------- EnigmaX/Classes/Station.cs | 2 +- 2 files changed, 53 insertions(+), 39 deletions(-) diff --git a/Enigma/StationsGUI/AdminStationView.cs b/Enigma/StationsGUI/AdminStationView.cs index 7b076cd..bc4151c 100644 --- a/Enigma/StationsGUI/AdminStationView.cs +++ b/Enigma/StationsGUI/AdminStationView.cs @@ -186,55 +186,69 @@ private void menuSelectionBox_SelectedIndexChanged(object sender, EventArgs e) } private void openMenu(int id) { - EnigmaMenu menu = enigmaMenus[id]; - menuListBox.ClearSelected(); - menuDisplayedOnListBox.ClearSelected(); - menuTitleTextBox.ResetText(); - - menuTitleTextBox.Text = menu.Title; - foreach (EnigmaMenuItem item in menu.Items) { - Predicate itemFinder = (EnigmaMenuItem p) => { return p.Id == item.Id; }; - menuListBox.SetSelected(enigmaMenuItems.FindIndex(itemFinder), true); + if (id != -1) + { + EnigmaMenu menu = enigmaMenus[id]; + menuListBox.ClearSelected(); + menuDisplayedOnListBox.ClearSelected(); + menuTitleTextBox.ResetText(); + + menuTitleTextBox.Text = menu.Title; + foreach (EnigmaMenuItem item in menu.Items) + { + Predicate itemFinder = (EnigmaMenuItem p) => { return p.Id == item.Id; }; + menuListBox.SetSelected(enigmaMenuItems.FindIndex(itemFinder), true); + } } } private void openItem(int id) { - EnigmaMenuItem item = enigmaMenuItems[id]; - itemCategoryListBox.ClearSelected(); - itemDescriptionTextbox.ResetText(); - itemPrice.ResetText(); - itemPrintingListBox.ClearSelected(); - itemNameTextBox.ResetText(); - - itemPrice.Value = decimal.Parse(item.Price.ToString()); - itemDescriptionTextbox.Text = item.Description; - itemCategoryListBox.SetSelected((int)item.ItemType, true); - itemPrintingListBox.SetSelected((int)item.PrintingType, true); - itemNameTextBox.Text = item.Title; + if (id != -1) + { + EnigmaMenuItem item = enigmaMenuItems[id]; + itemCategoryListBox.ClearSelected(); + itemDescriptionTextbox.ResetText(); + itemPrice.ResetText(); + itemPrintingListBox.ClearSelected(); + itemNameTextBox.ResetText(); + + itemPrice.Value = decimal.Parse(item.Price.ToString()); + itemDescriptionTextbox.Text = item.Description; + itemCategoryListBox.SetSelected((int)item.ItemType, true); + itemPrintingListBox.SetSelected((int)item.PrintingType, true); + itemNameTextBox.Text = item.Title; + } } private void openEmployee(int id) { - Employee employee = enigmaEmployees[id]; - employeeFirstNameTextBox.ResetText(); - employeeLastNameTextBox.ResetText(); - employeePinNumber.ResetText(); - employeeRoleListBox.ClearSelected(); - - employeeFirstNameTextBox.Text = employee.FirstName; - employeeLastNameTextBox.Text = employee.LastName; - employeePinNumber.Value = employee.Pin; - - foreach (EmployeeRole role in employee.Roles) { - int index = (int)role; - employeeRoleListBox.SetSelected(index, true); + if (id != -1) + { + Employee employee = enigmaEmployees[id]; + employeeFirstNameTextBox.ResetText(); + employeeLastNameTextBox.ResetText(); + employeePinNumber.ResetText(); + employeeRoleListBox.ClearSelected(); + + employeeFirstNameTextBox.Text = employee.FirstName; + employeeLastNameTextBox.Text = employee.LastName; + employeePinNumber.Value = employee.Pin; + + foreach (EmployeeRole role in employee.Roles) + { + int index = (int)role; + employeeRoleListBox.SetSelected(index, true); + } } } private void openStation(int id) { - Station station = enigmaStations[id]; - stationTypeListBox.ClearSelected(); - stationTypeListBox.SetSelected((int)station.StationType, true); + if (id != -1) + { + Station station = enigmaStations[id]; + stationTypeListBox.ClearSelected(); + stationTypeListBox.SetSelected((int)station.StationType, true); + } } @@ -283,7 +297,7 @@ private void metroButton4_Click(object sender, EventArgs e) employee.FirstName = employeeFirstNameTextBox.Text; employee.LastName = employeeLastNameTextBox.Text; employee.Pin = Convert.ToInt32(employeePinNumber.Value); - employee.Roles = employeeRoleListBox.SelectedItems.Cast().ToList(); + employee.Roles = employeeRoleListBox.SelectedIndices.Cast().ToList(); uploadEmployee(); } diff --git a/EnigmaX/Classes/Station.cs b/EnigmaX/Classes/Station.cs index 36f8940..20e5dcf 100644 --- a/EnigmaX/Classes/Station.cs +++ b/EnigmaX/Classes/Station.cs @@ -7,7 +7,7 @@ namespace EnigmaX.Classes { - public enum StationTypeDef { chef, waiter, admin, host }; + public enum StationTypeDef { chef, waiter, host, admin }; public class Station { private string _stationId = "";