Skip to content

Commit

Permalink
Added Menu loading functionality
Browse files Browse the repository at this point in the history
  • Loading branch information
Evan Langlais authored and Evan Langlais committed Mar 30, 2017
1 parent 1791d37 commit a47c482
Show file tree
Hide file tree
Showing 6 changed files with 251 additions and 279 deletions.
383 changes: 157 additions & 226 deletions Enigma/StationsGUI/AdminStationView.Designer.cs

Large diffs are not rendered by default.

23 changes: 19 additions & 4 deletions Enigma/StationsGUI/AdminStationView.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
using EnigmaX.Classes;
using EnigmaX;
using EnigmaX.Classes;
using MetroFramework.Forms;
using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.ComponentModel;
Expand All @@ -15,6 +17,11 @@ namespace Enigma.StationsGUI
public partial class AdminStationView : MetroForm
{
Employee loggedIn;
List<EnigmaMenuItem> menuItems = new List<EnigmaMenuItem>();
List<EnigmaMenu> enigmaMenus = new List<EnigmaMenu>();
List<Employee> employees = new List<Employee>();
List<Station> stations = new List<Station>();

public AdminStationView(Employee loggedIn)
{
InitializeComponent();
Expand All @@ -23,15 +30,23 @@ public AdminStationView(Employee loggedIn)

private void AdminStationView_Load(object sender, EventArgs e)
{

}

private void loadAllData() {

loadMenus();
loadMenuItems();
loadStations();
loadEmployees();
}

private void loadMenus() {

DBConnect db = new DBConnect();
List<Dictionary<string, string>> menus = db.ReadCommand("SELECT * FROM Menus", "id", "title", "items");
foreach (Dictionary<string, string> menu in menus) {
EnigmaMenu enigmaMenu = new EnigmaMenu(Convert.ToInt32(menu["id"]), menu["title"], EnigmaMenu.stringToItemList(menu["items"]));
enigmaMenus.Add(enigmaMenu);
}
}

private void loadMenuItems()
Expand Down
19 changes: 14 additions & 5 deletions EnigmaX/Classes/Menu.cs → EnigmaX/Classes/EnigmaMenu.cs
Original file line number Diff line number Diff line change
@@ -1,18 +1,19 @@
using System;
using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace EnigmaX.Classes
{
public class Menu
public class EnigmaMenu
{
private int _id;
private string _title;
private List<MenuItem> _items;
private List<EnigmaMenuItem> _items;

public Menu(int id, string title, List<MenuItem> items) {
public EnigmaMenu(int id, string title, List<EnigmaMenuItem> items) {
_id = id;
_title = title;
_items = items;
Expand All @@ -27,7 +28,7 @@ public string Title {
}
}

public List<MenuItem> Items
public List<EnigmaMenuItem> Items
{
get
{
Expand All @@ -43,5 +44,13 @@ public void updateMenuInDB() {

}

public static List<EnigmaMenuItem> stringToItemList(string items) {
List<EnigmaMenuItem> itemList = new List<EnigmaMenuItem>();
foreach (string item in items.Split('|')) {
itemList.Add(EnigmaMenuItem.idToMenuItem(Convert.ToInt32(item)));
}
return itemList;
}

}
}
59 changes: 59 additions & 0 deletions EnigmaX/Classes/EnigmaMenuItem.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace EnigmaX.Classes
{

public enum MenuItemType { appitizer, entre, dessert, drink, other };
public enum PrintingStationType { hot, cold };

public class EnigmaMenuItem
{

private int _id = 0;
private string _title = "";
private string _description = "";
private float _price;
private MenuItemType _itemType;
private PrintingStationType _printingType;

public EnigmaMenuItem(int id, string title, string description, float price, MenuItemType itemType, PrintingStationType printingType) {
_id = id;
_title = title;
_description = description;
_price = price;
_itemType = itemType;
_printingType = printingType;
}

public string Title {
get {
return _title;
}
set {
_title = value;
}
}

public static EnigmaMenuItem idToMenuItem(int id)
{
DBConnect db = new DBConnect();
MySqlCommand conn = new MySqlCommand("SELECT * FROM MenuItems WHERE id = @id LIMIT 1");
conn.Parameters.AddWithValue("@id", id.ToString());
List<Dictionary<string, string>> result = db.ReadCommand(conn, "title", "title", "description", "price", "category", "printingStation");
if (result.Count > 0)
{
return new EnigmaMenuItem(id, result[0]["title"], result[0]["description"], float.Parse(result[0]["price"]), (MenuItemType)Enum.Parse(typeof(MenuItemType), result[0]["category"]), (PrintingStationType)Enum.Parse(typeof(PrintingStationType), result[0]["printingStation"]));
}
else
{
return null;
}
}

}
}
42 changes: 0 additions & 42 deletions EnigmaX/Classes/MenuItem.cs

This file was deleted.

4 changes: 2 additions & 2 deletions EnigmaX/EnigmaX.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,8 @@
<Compile Include="Classes\Employee.cs" />
<Compile Include="Classes\ICMessage.cs" />
<Compile Include="Classes\Intercom.cs" />
<Compile Include="Classes\Menu.cs" />
<Compile Include="Classes\MenuItem.cs" />
<Compile Include="Classes\EnigmaMenu.cs" />
<Compile Include="Classes\EnigmaMenuItem.cs" />
<Compile Include="Classes\Party.cs" />
<Compile Include="Classes\Station.cs" />
<Compile Include="Classes\Table.cs" />
Expand Down

0 comments on commit a47c482

Please sign in to comment.